mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
Bug#54667: Unnecessary signal handler redefinition
POSIX requires that a signal handler defined with sigaction() is not reset on delivering a signal unless SA_NODEFER or SA_RESETHAND is set. It is therefore unnecessary to redefine the handler on signal delivery on platforms where sigaction() is used without those flags. include/my_alarm.h: Renamed DONT_REMEMBER_SIGNAL -> SIGNAL_HANDLER_RESET_ON_DELIVERY. include/my_global.h: Renamed DONT_REMEMBER_SIGNAL -> SIGNAL_HANDLER_RESET_ON_DELIVERY. The latter is now defined only on non-BSD platforms missing the POSIX sigaction() function. libmysql/libmysql.c: Renamed DONT_REMEMBER_SIGNAL -> SIGNAL_HANDLER_RESET_ON_DELIVERY mysys/thr_alarm.c: Renamed DONT_REMEMBER_SIGNAL -> SIGNAL_HANDLER_RESET_ON_DELIVERY sql/mysqld.cc: Renamed DONT_REMEMBER_SIGNAL -> SIGNAL_HANDLER_RESET_ON_DELIVERY
This commit is contained in:
parent
b36a028224
commit
f3ccf5061f
5 changed files with 11 additions and 11 deletions
|
|
@ -306,7 +306,7 @@ sig_handler process_alarm(int sig __attribute__((unused)))
|
|||
#if defined(MAIN) && !defined(__bsdi__)
|
||||
printf("thread_alarm in process_alarm\n"); fflush(stdout);
|
||||
#endif
|
||||
#ifdef DONT_REMEMBER_SIGNAL
|
||||
#ifdef SIGNAL_HANDLER_RESET_ON_DELIVERY
|
||||
my_sigset(thr_client_alarm, process_alarm); /* int. thread system calls */
|
||||
#endif
|
||||
return;
|
||||
|
|
@ -325,7 +325,7 @@ sig_handler process_alarm(int sig __attribute__((unused)))
|
|||
#endif
|
||||
process_alarm_part2(sig);
|
||||
#ifndef USE_ALARM_THREAD
|
||||
#if defined(DONT_REMEMBER_SIGNAL) && !defined(USE_ONE_SIGNAL_HAND)
|
||||
#if defined(SIGNAL_HANDLER_RESET_ON_DELIVERY) && !defined(USE_ONE_SIGNAL_HAND)
|
||||
my_sigset(THR_SERVER_ALARM,process_alarm);
|
||||
#endif
|
||||
pthread_mutex_unlock(&LOCK_alarm);
|
||||
|
|
@ -523,12 +523,12 @@ void thr_alarm_info(ALARM_INFO *info)
|
|||
*/
|
||||
|
||||
|
||||
static sig_handler thread_alarm(int sig)
|
||||
static sig_handler thread_alarm(int sig __attribute__((unused)))
|
||||
{
|
||||
#ifdef MAIN
|
||||
printf("thread_alarm\n"); fflush(stdout);
|
||||
#endif
|
||||
#ifdef DONT_REMEMBER_SIGNAL
|
||||
#ifdef SIGNAL_HANDLER_RESET_ON_DELIVERY
|
||||
my_sigset(sig,thread_alarm); /* int. thread system calls */
|
||||
#endif
|
||||
}
|
||||
|
|
@ -797,7 +797,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
|
||||
#ifdef SIGNAL_HANDLER_RESET_ON_DELIVERY
|
||||
my_sigset(sig,print_signal_warning); /* int. thread system calls */
|
||||
#endif
|
||||
if (sig == SIGALRM)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue