diff --git a/src/main-utils.c b/src/main-utils.c index 90bc7e0cdb..bf8eb4b329 100644 --- a/src/main-utils.c +++ b/src/main-utils.c @@ -152,6 +152,16 @@ nm_main_utils_write_pidfile (const char *pidfile) return success; } +void +nm_main_utils_ensure_rundir () +{ + /* Setup runtime directory */ + if (g_mkdir_with_parents (NMRUNDIR, 0755) != 0) { + fprintf (stderr, _("Cannot create '%s': %s"), NMRUNDIR, strerror (errno)); + exit (1); + } +} + /** * nm_main_utils_check_pidfile: * @pidfile: the pid file @@ -173,12 +183,6 @@ nm_main_utils_check_pidfile (const char *pidfile, const char *name) gboolean nm_running = FALSE; const char *process_name; - /* Setup runtime directory */ - if (g_mkdir_with_parents (NMRUNDIR, 0755) != 0) { - nm_log_err (LOGD_CORE, "Cannot create '%s': %s", NMRUNDIR, strerror (errno)); - exit (1); - } - if (!g_file_get_contents (pidfile, &contents, &len, NULL)) return FALSE; diff --git a/src/main-utils.h b/src/main-utils.h index e33935562a..18e7e534bd 100644 --- a/src/main-utils.h +++ b/src/main-utils.h @@ -25,6 +25,8 @@ gboolean nm_main_utils_setup_signals (GMainLoop *main_loop, gboolean *quit_early_ptr); +void nm_main_utils_ensure_rundir (void); + gboolean nm_main_utils_write_pidfile (const char *pidfile); gboolean nm_main_utils_check_pidfile (const char *pidfile, const char *name); diff --git a/src/main.c b/src/main.c index 8a776ab0e2..28d8defa64 100644 --- a/src/main.c +++ b/src/main.c @@ -310,6 +310,8 @@ main (int argc, char *argv[]) exit (1); } + nm_main_utils_ensure_rundir (); + /* check pid file */ if (nm_main_utils_check_pidfile (global_opt.pidfile, "NetworkManager")) exit (1); diff --git a/src/nm-iface-helper.c b/src/nm-iface-helper.c index 599a5c5bc8..0c39d8fa5b 100644 --- a/src/nm-iface-helper.c +++ b/src/nm-iface-helper.c @@ -378,6 +378,8 @@ main (int argc, char *argv[]) g_clear_pointer (&bad_domains, g_free); } + nm_main_utils_ensure_rundir (); + pidfile = g_strdup_printf (NMIH_PID_FILE_FMT, ifindex); g_assert (pidfile);