Why would a kill -2 not work?

Peter Steele psteele at maxiscale.com
Tue May 19 00:32:48 UTC 2009


>You're not trying to send a signal within the signal handler itself, 
>are you? That won't work-- signal delivery is blocked when you're 
>already running in a signal handler. Also, note that trying to mix 
>signals with a multithreaded process is complicated.... 

No, I'm not sending a signal within a signal. The signal handler is this: 

pthread_mutex_lock(&keep_running_mutex); 
KEEP_RUNNING = 0; 
pthread_cond_signal(&keep_running_cond); 
pthread_mutex_unlock(&keep_running_mutex); 

This works fine, but at some point it seems to stop working. The app just continues to run as if it never received the -2 signal. We have to use a kill -9 to kill it, which we want to avoid because this prevents our shutdown code from executing. 



More information about the freebsd-questions mailing list