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