diff options
author | unknown <istruewing@chilla.local> | 2007-02-01 08:09:36 +0100 |
---|---|---|
committer | unknown <istruewing@chilla.local> | 2007-02-01 08:09:36 +0100 |
commit | 62fdcb54a7e03282b19b8661e0f78e766e3b2a36 (patch) | |
tree | 048257cd44bd6d69572262aba31071a54e7992f1 /sql | |
parent | a94b1b50772271e1e4e72ddb237eff458380c0fa (diff) | |
parent | 7be3cad45d0dccb3538fe797c9ac81358f92f691 (diff) | |
download | mariadb-git-62fdcb54a7e03282b19b8661e0f78e766e3b2a36.tar.gz |
Merge chilla.local:/home/mydev/mysql-4.0-axmrg
into chilla.local:/home/mydev/mysql-4.1-axmrg
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/thr_alarm.h:
Auto merged
mysys/default.c:
Auto merged
mysys/my_pthread.c:
Auto merged
mysys/thr_alarm.c:
Auto merged
mysys/my_thr_init.c:
Manual merged
sql/mysqld.cc:
Manual merged
Diffstat (limited to 'sql')
-rw-r--r-- | sql/mysqld.cc | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index d9962eec4c1..5a80c7ad2f3 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -450,6 +450,7 @@ pthread_cond_t COND_refresh,COND_thread_count, COND_slave_stopped, pthread_cond_t COND_thread_cache,COND_flush_thread_cache; pthread_t signal_thread; pthread_attr_t connection_attrib; +static uint thr_kill_signal; /* replication parameters, if master_host is not NULL, we are a slave */ uint master_port= MYSQL_PORT, master_connect_retry = 60; @@ -581,7 +582,6 @@ static void clean_up_mutexes(void); static void wait_for_signal_thread_to_end(void); static int test_if_case_insensitive(const char *dir_name); static void create_pid_file(); -static uint get_thread_lib(void); #ifndef EMBEDDED_LIBRARY /**************************************************************************** @@ -621,8 +621,7 @@ static void close_connections(void) DBUG_PRINT("info",("Waiting for select thread")); #ifndef DONT_USE_THR_ALARM - if (pthread_kill(select_thread, - thd_lib_detected == THD_LIB_LT ? SIGALRM : SIGUSR1)) + if (pthread_kill(select_thread, thr_client_alarm)) break; // allready dead #endif set_timespec(abstime, 2); @@ -2046,8 +2045,7 @@ static void init_signals(void) if (test_flags & TEST_SIGINT) { - my_sigset(thd_lib_detected == THD_LIB_LT ? SIGINT : SIGUSR2, - end_thread_signal); + my_sigset(thr_kill_signal, end_thread_signal); } my_sigset(THR_SERVER_ALARM,print_signal_warning); // Should never be called! @@ -2107,10 +2105,10 @@ static void init_signals(void) if (test_flags & TEST_SIGINT) { // May be SIGINT - sigdelset(&set, thd_lib_detected == THD_LIB_LT ? SIGINT : SIGUSR2); + sigdelset(&set, thr_kill_signal); } // For alarms - sigdelset(&set, thd_lib_detected == THD_LIB_LT ? SIGALRM : SIGUSR1); + sigdelset(&set, thr_client_alarm); sigprocmask(SIG_SETMASK,&set,NULL); pthread_sigmask(SIG_SETMASK,&set,NULL); DBUG_VOID_RETURN; @@ -2166,7 +2164,7 @@ extern "C" void *signal_hand(void *arg __attribute__((unused))) */ init_thr_alarm(max_connections + global_system_variables.max_insert_delayed_threads + 10); - if (thd_lib_detected != THD_LIB_LT && test_flags & TEST_SIGINT) + if (thd_lib_detected != THD_LIB_LT && (test_flags & TEST_SIGINT)) { (void) sigemptyset(&set); // Setup up SIGINT for debug (void) sigaddset(&set,SIGINT); // For debugging @@ -3139,6 +3137,9 @@ int main(int argc, char **argv) MY_INIT(argv[0]); // init my_sys library & pthreads + /* Set signal used to kill MySQL */ + thr_kill_signal= thd_lib_detected == THD_LIB_LT ? SIGINT : SIGUSR2; + #ifdef _CUSTOMSTARTUPCONFIG_ if (_cust_check_startup()) { @@ -3147,7 +3148,6 @@ int main(int argc, char **argv) } #endif - thd_lib_detected= get_thread_lib(); if (init_common_variables(MYSQL_CONFIG_NAME, argc, argv, load_default_groups)) unireg_abort(1); // Will do exit @@ -7024,22 +7024,6 @@ static void create_pid_file() } -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; - else if (!strncasecmp(buff, "linuxthreads", 12)) - return THD_LIB_LT; -#endif - return THD_LIB_OTHER; -} - - /***************************************************************************** Instantiate templates *****************************************************************************/ |