From 0e2fd035e2fe648bb93084e136c13701cb9ffacd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Tue, 17 Jun 1997 04:23:14 -0700 Subject: [PATCH] linux signal conflict fixed Rev: src/ChangeLog:1.107 Rev: src/signal_handler.c:1.13 --- src/ChangeLog | 5 +++++ src/signal_handler.c | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 7324e193ec..930a9c0ccc 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 17 04:20:20 1997 Fredrik Hubinette <hubbe@cytocin.hubbe.net> + + * SIGUSR1 and SIGUSR2 are now masked out on linux systems + with threads. (Because the thread functions use them.) + Tue Jun 10 12:21:07 1997 Henrik Grubbstr�m <grubba@infovav.se> * lib/modules/Process.pmod (exec): Fixed path-handling bug. diff --git a/src/signal_handler.c b/src/signal_handler.c index ff8aba4236..2ff2103b9f 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -83,15 +83,19 @@ static struct sigdesc signal_desc []={ #ifdef SIGKILL { SIGKILL, "SIGKILL" }, #endif + +#if !defined(__linux__) || !defined(_REENTRANT) #ifdef SIGUSR1 { SIGUSR1, "SIGUSR1" }, #endif -#ifdef SIGSEGV - { SIGSEGV, "SIGSEGV" }, -#endif #ifdef SIGUSR2 { SIGUSR2, "SIGUSR2" }, #endif +#endif + +#ifdef SIGSEGV + { SIGSEGV, "SIGSEGV" }, +#endif #ifdef SIGPIPE { SIGPIPE, "SIGPIPE" }, #endif @@ -316,7 +320,13 @@ static void f_signal(int args) } signum=sp[-args].u.integer; - if(signum <0 || signum >=MAX_SIGNALS) + if(signum <0 || + signum >=MAX_SIGNALS +#if defined(__linux__) && defined(_REENTRANT) + || signum == SIGUSR1 + || signum == SIGUSR2 +#endif + ) { error("Signal out of range.\n"); } -- GitLab