← Back to team overview

maria-developers team mailing list archive

Re: Rev 4056: MDEV-5607: Query cache destroys uninitialized rwlock


10.02.2014 16:24, Sergei Golubchik пишет:
Hi, Sanja!

On Feb 08, sanja@xxxxxxxxxxxx wrote:
revno: 4056
revision-id: sanja@xxxxxxxxxxxx-20140208132448-qdkkpdncnya0tr6j
parent: elenst@xxxxxxxxxxxxxx-20140205102537-7ern5gfca6a6ojg3
committer: sanja@xxxxxxxxxxxx
branch nick: work-maria-5.5-MDEV-5607
timestamp: Sat 2014-02-08 15:24:48 +0200
   MDEV-5607: Query cache destroys uninitialized rwlock
- Resize destroyed rw_lock twice, now it is prevented.
   - Trash destroyed rw lock.
=== modified file 'include/mysql/psi/mysql_thread.h'
--- a/include/mysql/psi/mysql_thread.h	2013-01-11 00:03:43 +0000
+++ b/include/mysql/psi/mysql_thread.h	2014-02-08 13:24:48 +0000
@@ -16,6 +16,8 @@
  #ifndef MYSQL_THREAD_H
  #define MYSQL_THREAD_H
+#include <my_valgrind.h>
This is not ok.
Files under include/mysql/ are Plugin API files, they should be clean
from internal includes. You cannot include my_valgrind.h from there.
Do it in my_pthread.h

my_pthread is not suitable. In psi/mysql_thread defined wrapping class and in that class the double destruction is visible (first version was made as you recommended it my_pthread but it does not worked to reproduce the bug).

I can use just memset() instead of TRASH().