summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <jani@ua141d10.elisa.omakaista.fi>2005-10-13 18:23:53 +0300
committerunknown <jani@ua141d10.elisa.omakaista.fi>2005-10-13 18:23:53 +0300
commit1e14067736bbff615f63e83129d64a17ad668390 (patch)
tree110201972d71b85d5c8e4bf068770a1ffd6fca61 /mysys
parent99ed34376fde520a135756480334090db2a609a5 (diff)
parent0d8977475630b214e2c4eecb1a33330cf9f7283b (diff)
downloadmariadb-git-1e14067736bbff615f63e83129d64a17ad668390.tar.gz
Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1-tmp
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0 configure.in: Auto merged include/config-win.h: Auto merged include/m_string.h: Auto merged include/my_pthread.h: Auto merged myisam/mi_search.c: Auto merged mysql-test/r/cast.result: Auto merged mysql-test/t/cast.test: Auto merged mysql-test/t/select.test: Auto merged mysys/my_pthread.c: Auto merged mysys/thr_alarm.c: Auto merged netware/pack_isam.def: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-tis620.c: Auto merged strings/xml.c: Auto merged vio/vio.c: Auto merged vio/viosocket.c: Auto merged mysql-test/r/select.result: Merged from 4.1. netware/BUILD/mwenv: Merged from 4.1. scripts/make_binary_distribution.sh: Merged from 4.1. sql/mysqld.cc: Merged from 4.1. sql/sql_show.cc: Merged from 4.1. strings/my_strtoll10.c: Merged from 4.1.
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_pthread.c17
-rw-r--r--mysys/thr_alarm.c24
2 files changed, 7 insertions, 34 deletions
diff --git a/mysys/my_pthread.c b/mysys/my_pthread.c
index 37517fb8327..315e966bf43 100644
--- a/mysys/my_pthread.c
+++ b/mysys/my_pthread.c
@@ -404,23 +404,6 @@ int sigwait(sigset_t *setp, int *sigp)
#endif /* DONT_USE_SIGSUSPEND */
#endif /* HAVE_SIGWAIT */
-/*****************************************************************************
-** Implement pthread_signal for systems that can't use signal() with threads
-** Currently this is only used with BSDI 3.0
-*****************************************************************************/
-
-#ifdef USE_PTHREAD_SIGNAL
-
-int pthread_signal(int sig, void (*func)())
-{
- struct sigaction sact;
- sact.sa_flags= 0;
- sact.sa_handler= func;
- sigemptyset(&sact.sa_mask);
- sigaction(sig, &sact, (struct sigaction*) 0);
- return 0;
-}
-#endif
/****************************************************************************
The following functions fixes that all pthread functions should work
diff --git a/mysys/thr_alarm.c b/mysys/thr_alarm.c
index 05d14073953..e5b77de5e38 100644
--- a/mysys/thr_alarm.c
+++ b/mysys/thr_alarm.c
@@ -80,17 +80,7 @@ void init_thr_alarm(uint max_alarms)
pthread_mutex_init(&LOCK_alarm,MY_MUTEX_INIT_FAST);
pthread_cond_init(&COND_alarm,NULL);
#if THR_CLIENT_ALARM != SIGALRM || defined(USE_ALARM_THREAD)
-#if defined(HAVE_mit_thread)
- sigset(THR_CLIENT_ALARM,thread_alarm); /* int. thread system calls */
-#else
- {
- struct sigaction sact;
- sact.sa_flags = 0;
- bzero((char*) &sact, sizeof(sact));
- sact.sa_handler = thread_alarm;
- sigaction(THR_CLIENT_ALARM, &sact, (struct sigaction*) 0);
- }
-#endif
+ my_sigset(THR_CLIENT_ALARM,thread_alarm);
#endif
sigemptyset(&s);
sigaddset(&s, THR_SERVER_ALARM);
@@ -110,12 +100,12 @@ void init_thr_alarm(uint max_alarms)
#elif defined(USE_ONE_SIGNAL_HAND)
pthread_sigmask(SIG_BLOCK, &s, NULL); /* used with sigwait() */
#if THR_SERVER_ALARM == THR_CLIENT_ALARM
- sigset(THR_CLIENT_ALARM,process_alarm); /* Linuxthreads */
+ my_sigset(THR_CLIENT_ALARM,process_alarm); /* Linuxthreads */
pthread_sigmask(SIG_UNBLOCK, &s, NULL);
#endif
#else
+ my_sigset(THR_SERVER_ALARM, process_alarm);
pthread_sigmask(SIG_UNBLOCK, &s, NULL);
- sigset(THR_SERVER_ALARM,process_alarm);
#endif
DBUG_VOID_RETURN;
}
@@ -290,7 +280,7 @@ sig_handler process_alarm(int sig __attribute__((unused)))
printf("thread_alarm\n"); fflush(stdout);
#endif
#ifdef DONT_REMEMBER_SIGNAL
- sigset(THR_CLIENT_ALARM,process_alarm); /* int. thread system calls */
+ my_sigset(THR_CLIENT_ALARM,process_alarm); /* int. thread system calls */
#endif
return;
}
@@ -310,7 +300,7 @@ sig_handler process_alarm(int sig __attribute__((unused)))
process_alarm_part2(sig);
#ifndef USE_ALARM_THREAD
#if defined(DONT_REMEMBER_SIGNAL) && !defined(USE_ONE_SIGNAL_HAND)
- sigset(THR_SERVER_ALARM,process_alarm);
+ my_sigset(THR_SERVER_ALARM,process_alarm);
#endif
pthread_mutex_unlock(&LOCK_alarm);
pthread_sigmask(SIG_SETMASK,&old_mask,NULL);
@@ -512,7 +502,7 @@ static sig_handler thread_alarm(int sig)
printf("thread_alarm\n"); fflush(stdout);
#endif
#ifdef DONT_REMEMBER_SIGNAL
- sigset(sig,thread_alarm); /* int. thread system calls */
+ my_sigset(sig,thread_alarm); /* int. thread system calls */
#endif
}
#endif
@@ -916,7 +906,7 @@ static sig_handler print_signal_warning(int sig)
printf("Warning: Got signal %d from thread %s\n",sig,my_thread_name());
fflush(stdout);
#ifdef DONT_REMEMBER_SIGNAL
- sigset(sig,print_signal_warning); /* int. thread system calls */
+ my_sigset(sig,print_signal_warning); /* int. thread system calls */
#endif
#ifndef OS2
if (sig == SIGALRM)