diff --git a/src/directory.c b/src/directory.c index 17d91631c..ec4b1f19d 100644 --- a/src/directory.c +++ b/src/directory.c @@ -30,6 +30,7 @@ #include "interface.h" #include "volume.h" #include "mpd_types.h" +#include "sig_handlers.h" #include #include @@ -130,6 +131,7 @@ int updateInit(FILE * fp) { sigaction(SIGPIPE,&sa,NULL); sigaction(SIGCHLD,&sa,NULL); + finishSigHandlers(); close(listenSocket); freeAllInterfaces(); finishPlaylist(); diff --git a/src/playlist.c b/src/playlist.c index 5d88ffa1d..1985612a1 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -141,7 +141,6 @@ void initPlaylist() { } void finishPlaylist() { - clearPlaylist(stderr); free(playlist.songs); playlist.songs = NULL; free(playlist.order); diff --git a/src/sig_handlers.c b/src/sig_handlers.c index c03f7e76b..e9d91a645 100644 --- a/src/sig_handlers.c +++ b/src/sig_handlers.c @@ -63,9 +63,6 @@ void initSigHandlers() { sigaction(SIGPIPE,&sa,NULL); sa.sa_handler = usr1SigHandler; sigaction(SIGUSR1,&sa,NULL); - sigaddset(&sa.sa_mask,SIGTERM); - sigaddset(&sa.sa_mask,SIGHUP); - sigaddset(&sa.sa_mask,SIGCHLD); sa.sa_handler = chldSigHandler; sigaction(SIGCHLD,&sa,NULL); sa.sa_handler = hupSigHandler;