+static void _ms_process_init(void)
+{
+ if (g_mkdir_with_parents(tzplatform_mkpath(TZ_SYS_RUN, "mused"), S_IRWXU | S_IRWXG | S_IRWXO) != 0)
+ exit(EXIT_FAILURE);
+
+ if (muse_server->daemonize) {
+ if (ms_pidfile_create(MUSE_DEFAULT_PIDFILE, muse_server->pid) != MM_ERROR_NONE)
+ exit(EXIT_FAILURE);
+ else
+ LOGW("MUSE_DEFAULT_PIDFILE(%s) file was created", MUSE_DEFAULT_PIDFILE);
+ }
+
+ _ms_init();
+
+ muse_return_if_fail(_ms_open_lockfile() == MM_ERROR_NONE);
+
+ ms_new();
+}
+
+static void _ms_launch_foreground(void)
+{
+ muse_server->pid = (int)getpid();
+
+ _ms_process_init();
+}
+
+static void _ms_daemonize(void)
+{
+ int notify_fd;
+
+ muse_server->pid = ms_daemonize(¬ify_fd);
+
+ _ms_process_init();
+
+ ms_daemonize_complete(notify_fd);
+}
+