diff options
author | unknown <davi@mysql.com/endora.local> | 2008-02-26 12:03:59 -0300 |
---|---|---|
committer | unknown <davi@mysql.com/endora.local> | 2008-02-26 12:03:59 -0300 |
commit | bf9bb656a65c18eb15ee475e5f58412c859ef76a (patch) | |
tree | 9599643f40672ed859b5baaf1e060a7b356498ab /mysys/my_thr_init.c | |
parent | fd317533878a4a6537a4ad93c65d9d6b7305dfd1 (diff) | |
download | mariadb-git-bf9bb656a65c18eb15ee475e5f58412c859ef76a.tar.gz |
Bug#34424 query_cache_debug.test leads to valgrind warnings
Bug#34678 @@debug variable's incremental mode
The problem is that the per-thread debugging settings stack wasn't
being deallocated before the thread termination, leaking the stack
memory. The chosen solution is to push a new state if the current
is set to the initial settings and pop it (free) once the thread
finishes.
dbug/dbug.c:
Move dbug parser out of _db_set_ to a separate function and
make _db_set_ push a new stack if the corrent one is set to
the initial settings.
dbug/user.r:
Update DBUG_SET description.
mysql-test/t/disabled.def:
Re-enable test case which triggered the leak.
mysys/my_thr_init.c:
Pop a pushed state, nop if stack is empty.
sql/set_var.cc:
Handle incremental debug settings.
mysql-test/r/variables_debug.result:
Add new test case result for Bug#34678
mysql-test/t/variables_debug.test:
Add new test case for Bug#34678
Diffstat (limited to 'mysys/my_thr_init.c')
-rw-r--r-- | mysys/my_thr_init.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c index 1ba6e5ac92d..933674fa007 100644 --- a/mysys/my_thr_init.c +++ b/mysys/my_thr_init.c @@ -332,6 +332,7 @@ void my_thread_end(void) /* tmp->dbug is allocated inside DBUG library */ if (tmp->dbug) { + DBUG_POP(); free(tmp->dbug); tmp->dbug=0; } |