summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <istruewing@chilla.local>2007-02-01 08:09:36 +0100
committerunknown <istruewing@chilla.local>2007-02-01 08:09:36 +0100
commit62fdcb54a7e03282b19b8661e0f78e766e3b2a36 (patch)
tree048257cd44bd6d69572262aba31071a54e7992f1 /sql
parenta94b1b50772271e1e4e72ddb237eff458380c0fa (diff)
parent7be3cad45d0dccb3538fe797c9ac81358f92f691 (diff)
downloadmariadb-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.cc34
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
*****************************************************************************/