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)
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);
}
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);