summaryrefslogtreecommitdiff
path: root/mysys/my_init.c
diff options
context:
space:
mode:
authorGuilhem Bichot <guilhem@mysql.com>2009-02-12 16:27:33 +0100
committerGuilhem Bichot <guilhem@mysql.com>2009-02-12 16:27:33 +0100
commitb90ff5340fc10a9306be1b1201612e382b8ab051 (patch)
tree39a2faeb08864430d60c6db17a918a9ee3102fed /mysys/my_init.c
parent704b4845aa9ce51a6c5a9f5f42265e376db0dfb3 (diff)
downloadmariadb-git-b90ff5340fc10a9306be1b1201612e382b8ab051.tar.gz
Fixing problems of previous 5.1-main->5.1-maria merge:
- adding back Serg's "mtr --list-options" - safe_mutex deadlock detector started raising wrong deadlock warnings, fixed here by a backport from 6.0-main. include/my_pthread.h: Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations mysql-test/mysql-test-run.pl: adding back Serg's --list-options mysys/my_init.c: Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations mysys/my_thr_init.c: Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations
Diffstat (limited to 'mysys/my_init.c')
-rw-r--r--mysys/my_init.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/mysys/my_init.c b/mysys/my_init.c
index 2401671687b..e05536bf3ea 100644
--- a/mysys/my_init.c
+++ b/mysys/my_init.c
@@ -82,20 +82,20 @@ my_bool my_init(void)
my_progname_short= my_progname + dirname_length(my_progname);
#if defined(THREAD)
- if (my_thread_global_init())
- return 1;
+ (void) my_threadattr_global_init();
# if defined(SAFE_MUTEX)
safe_mutex_global_init(); /* Must be called early */
-# endif
-#endif
-#if defined(THREAD) && defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX)
+# elif defined(MY_PTHREAD_FASTMUTEX)
fastmutex_global_init(); /* Must be called early */
+# endif
#endif
netware_init();
#ifdef THREAD
#if defined(HAVE_PTHREAD_INIT)
pthread_init(); /* Must be called before DBUG_ENTER */
#endif
+ if (my_thread_global_init())
+ return 1;
#if !defined( __WIN__) && !defined(__NETWARE__)
sigfillset(&my_signals); /* signals blocked by mf_brkhant */
#endif