]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
osi_linux_unmask() needs to explicitly flush_signals() before calling
authorDerek Atkins <warlord@mit.edu>
Wed, 15 May 2002 21:04:15 +0000 (21:04 +0000)
committerGarry Zacheiss <zacheiss@mit.edu>
Wed, 15 May 2002 21:04:15 +0000 (21:04 +0000)
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
src/rx/LINUX/rx_knet.c

index b6adbbd9eda4e8d923e7250cec28ca4b38b372b0..17eb4c21d1348ac83e9bf815de13b94805c40b8d 100644 (file)
@@ -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);
 }
index 6d804c5b1e42a698681fc0939d72c5e432282c61..235253a8af91ace7082d337cb0ec6ad99e3415c4 100644 (file)
@@ -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);