diff --git a/mysys/my_static.h b/mysys/my_static.h index 2483c507e490fe0fb99982d8f1ec9ec1862fcb79..8360728b05710ad8fe42840fca66fea7c05495c2 100644 --- a/mysys/my_static.h +++ b/mysys/my_static.h @@ -61,10 +61,10 @@ extern uint my_once_extra; #ifdef THREAD /* - These threads are except from safemalloc leak scrutiny unless + These threads are exempt from safemalloc leak scrutiny unless PEDANTIC_SAFEMALLOC is defined */ -extern pthread_t signal_thread, kill_thread; +extern pthread_t signal_th, kill_th, main_th; #endif #ifndef HAVE_TEMPNAM diff --git a/mysys/safemalloc.c b/mysys/safemalloc.c index 925abd920ec48a7a913091de223513ccfaa809b5..0c169f2f0cc5210e1fd842fc7f096fcdf1a10b2b 100644 --- a/mysys/safemalloc.c +++ b/mysys/safemalloc.c @@ -73,7 +73,7 @@ #include "mysys_err.h" ulonglong safemalloc_mem_limit = ~(ulonglong)0; -pthread_t shutdown_th=0,main_th=0,signal_th=0; +pthread_t shutdown_th,main_th,signal_th; #define pNext tInt._pNext #define pPrev tInt._pPrev diff --git a/sql/mysqld.cc b/sql/mysqld.cc index abc7d5d5125e3f08073dfac5e58ca0d8fc0ff32c..99f0a463a427615f1a12b87b13a2b5f5e7a0c79b 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -1720,6 +1720,12 @@ int main(int argc, char **argv) my_umask=0660; // Default umask for new files my_umask_dir=0700; // Default umask for new directories MAIN_THD; + /* initialize signal_th and shutdown_th to main_th for default value + as we need to initialize them to something safe. They are used + when compiled with safemalloc + */ + SIGNAL_THD; + SHUTDOWN_THD; MY_INIT(argv[0]); // init my_sys library & pthreads tzset(); // Set tzname