Daemon: fork as early as possible

Keep the parent process around until MPD has finished initializing.

This is important for libraries that are allergic to fork(), such as
libupnp.
This commit is contained in:
Max Kellermann
2014-01-18 12:01:09 +01:00
parent 9f3ce7551a
commit be47320a05
4 changed files with 107 additions and 28 deletions

View File

@@ -403,6 +403,7 @@ int mpd_main(int argc, char *argv[])
}
daemonize_set_user();
daemonize_begin(options.daemon);
GlobalEvents::Initialize(*main_loop);
GlobalEvents::Register(GlobalEvents::IDLE, idle_event_emitted);
@@ -451,7 +452,7 @@ int mpd_main(int argc, char *argv[])
playlist_list_global_init();
daemonize(options.daemon);
daemonize_commit();
setup_log_output(options.log_stderr);