diff options
author | unknown <knielsen@mysql.com> | 2006-05-15 18:07:18 +0200 |
---|---|---|
committer | unknown <knielsen@mysql.com> | 2006-05-15 18:07:18 +0200 |
commit | a046322b4e61aaef3db9efc9e85477792085c453 (patch) | |
tree | c90b581837f256bc8b3e0cb47cafcb159c99a19f /mysys | |
parent | 0a22763fa621e0d376e3e72febe2ad5df008a202 (diff) | |
download | mariadb-git-a046322b4e61aaef3db9efc9e85477792085c453.tar.gz |
Fix two Valgrind memory leak warnings.
client/mysqlbinlog.cc:
Now my_end() deallocates DBUG by default, but that fails in mysqlbinlog
because of global destructors that use DBUG.
dbug/dbug.c:
Add a facility to deallocate the debug stack, to avoid memory leak warnings
in Valgrind.
include/my_dbug.h:
Add a facility to deallocate the debug stack, to avoid memory leak warnings
in Valgrind.
include/my_sys.h:
Change my_end() to deallocate DBUG memory by default (can be disabled with
MY_DONT_FREE_DBUG option).
libmysql/libmysql.c:
Do not deallocate DBUG during cleanup.
mysys/my_init.c:
Change my_end() to deallocate DBUG memory by default (can be disabled with
MY_DONT_FREE_DBUG option).
sql/mysqld.cc:
Add missing my_thread_end() call, seems to occasionally trigger a memory
leak (not repeatable).
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_init.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c index c2bfdde0ddd..9b8d4db172f 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -196,8 +196,10 @@ Voluntary context switches %ld, Involuntary context switches %ld\n", _CrtDumpMemoryLeaks(); #endif } + + if (!(infoflag & MY_DONT_FREE_DBUG)) + DBUG_END(); /* Must be done before my_thread_end */ #ifdef THREAD - DBUG_POP(); /* Must be done before my_thread_end */ my_thread_end(); my_thread_global_end(); #if defined(SAFE_MUTEX) |