X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=server.c;h=4650f9947f01ed7fd6f1323610090ae16ef22ac4;hb=65453788515cd5f4c905b518745b4dd7f6f2da10;hp=82f48e00eb8911503688fd2c9faf9a02b8909e5f;hpb=b8ad8275c27afd58015dbc70ff9ce65637e96839;p=paraslash.git diff --git a/server.c b/server.c index 82f48e00..4650f994 100644 --- a/server.c +++ b/server.c @@ -92,6 +92,8 @@ #include "color.h" #include "version.h" +__printf_2_3 void (*para_log)(int, const char*, ...) = daemon_log; + /** Define the array of error lists needed by para_server. */ INIT_SERVER_ERRLISTS; @@ -493,7 +495,7 @@ static void server_init(int argc, char **argv) init_user_list(user_list_file); /* become daemon */ if (conf.daemon_given) - daemonize(); + daemonize(true /* parent waits for SIGTERM */); PARA_NOTICE_LOG("initializing audio format handlers\n"); afh_init(); @@ -519,6 +521,8 @@ static void server_init(int argc, char **argv) PARA_NOTICE_LOG("initializing virtual streaming system\n"); init_vss_task(afs_socket); init_server_command_task(argc, argv); + if (conf.daemon_given) + kill(getppid(), SIGTERM); PARA_NOTICE_LOG("server init complete\n"); }