mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge chilla.local:/home/mydev/mysql-5.0-axmrg
into chilla.local:/home/mydev/mysql-5.1-axmrg
This commit is contained in:
@ -20,6 +20,7 @@
|
||||
|
||||
#include "mysys_priv.h"
|
||||
#include <m_string.h>
|
||||
#include <signal.h>
|
||||
|
||||
#ifdef THREAD
|
||||
#ifdef USE_TLS
|
||||
@ -63,6 +64,8 @@ pthread_handler_t nptl_pthread_exit_hack_handler(void *arg)
|
||||
|
||||
#endif
|
||||
|
||||
static uint get_thread_lib(void);
|
||||
|
||||
/*
|
||||
initialize thread environment
|
||||
|
||||
@ -76,6 +79,12 @@ pthread_handler_t nptl_pthread_exit_hack_handler(void *arg)
|
||||
|
||||
my_bool my_thread_global_init(void)
|
||||
{
|
||||
thd_lib_detected= get_thread_lib();
|
||||
if (thd_lib_detected == THD_LIB_LT)
|
||||
thr_client_alarm= SIGALRM;
|
||||
else
|
||||
thr_client_alarm= SIGUSR1;
|
||||
|
||||
if (pthread_key_create(&THR_KEY_mysys,0))
|
||||
{
|
||||
fprintf(stderr,"Can't initialize threads: error %d\n",errno);
|
||||
@ -392,4 +401,20 @@ const char *my_thread_name(void)
|
||||
}
|
||||
#endif /* DBUG_OFF */
|
||||
|
||||
|
||||
static uint get_thread_lib(void)
|
||||
{
|
||||
char buff[64];
|
||||
|
||||
#ifdef _CS_GNU_LIBPTHREAD_VERSION
|
||||
confstr(_CS_GNU_LIBPTHREAD_VERSION, buff, sizeof(buff));
|
||||
|
||||
if (!strncasecmp(buff, "NPTL", 4))
|
||||
return THD_LIB_NPTL;
|
||||
if (!strncasecmp(buff, "linuxthreads", 12))
|
||||
return THD_LIB_LT;
|
||||
#endif
|
||||
return THD_LIB_OTHER;
|
||||
}
|
||||
|
||||
#endif /* THREAD */
|
||||
|
Reference in New Issue
Block a user