From 8251fc6871a65326150be69b929917b37d83e215 Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Wed, 15 May 2002 21:04:15 +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. --- 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 b6adbbd9e..17eb4c21d 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