From f6c3430f9cf5024d9c1171def618373413cbeaca Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Wed, 15 May 2002 21:07:29 +0000 Subject: [PATCH] osi_linux_unmask() needs to explicitly flush_signals() before calling recalc_sigpending(), otherwise recent kernels don't appear to deliver new instances of any signals already received. Revert back to using SIGKILL at shutdown time, but use SIGKILL instead of explicitly using signal 9, because abstraction is your friend. (cherry picked from commit 8251fc6871a65326150be69b929917b37d83e215) --- src/afs/LINUX/osi_misc.c | 1 + src/rx/LINUX/rx_knet.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c index 100936103..d0bcd8faa 100644 --- a/src/afs/LINUX/osi_misc.c +++ b/src/afs/LINUX/osi_misc.c @@ -441,6 +441,7 @@ void osi_linux_mask() { void osi_linux_unmask() { spin_lock_irq(&rxk_ListenerTask->sigmask_lock); sigemptyset(&rxk_ListenerTask->blocked); + flush_signals(rxk_ListenerTask); recalc_sigpending(rxk_ListenerTask); spin_unlock_irq(&rxk_ListenerTask->sigmask_lock); } diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 6d804c5b1..235253a8a 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -179,7 +179,7 @@ void osi_StopListener(void) extern int rxk_ListenerPid; while (rxk_ListenerPid) { - (void) (*sys_killp)(rxk_ListenerPid, SIGTERM); + (void) (*sys_killp)(rxk_ListenerPid, SIGKILL); afs_osi_Sleep(&rxk_ListenerPid); } sock_release(rx_socket); -- 2.39.5