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 /dbug/user.r | |
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 'dbug/user.r')
-rw-r--r-- | dbug/user.r | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/dbug/user.r b/dbug/user.r index e41367de321..19de840d0ad 100644 --- a/dbug/user.r +++ b/dbug/user.r @@ -730,8 +730,9 @@ warning will be given. The DBUG_POP macro has no arguments. EX:\ \fCDBUG_POP\ ();\fR .SP 1 .LI DBUG_SET\ -Modifies the current debugger state on top of the stack using the -debug control string passed as the macro argument. Unless +Modifies the current debugger state on top of the stack or pushes +a new state if the current is set to the initial settings, using +the debug control string passed as the macro argument. Unless .I incremental control string is used (see below), it's equivalent to a combination of DBUG_POP and DBUG_PUSH. |