clean up signal handling using a polling method, from the genius that is mackstann

git-svn-id: https://svn.musicpd.org/mpd/trunk@697 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes
2004-04-11 23:07:43 +00:00
parent 063affb047
commit ae33b348af
11 changed files with 108 additions and 87 deletions

View File

@@ -58,9 +58,10 @@ void decodeSigHandler(int sig) {
if(sig==SIGCHLD) {
int status;
if(decode_pid && *decode_pid==wait3(&status,WNOHANG,NULL)) {
if(WIFSIGNALED(status) && WTERMSIG(status)!=SIGTERM) {
ERROR("decode process died from a "
"non-TERM signal: %i\n",
if(WIFSIGNALED(status) && WTERMSIG(status)!=SIGTERM &&
WTERMSIG(status)!=SIGINT)
{
ERROR("decode process died from signal: %i\n",
WTERMSIG(status));
}
*decode_pid = 0;