diff --git a/src/logging/nm-logging.c b/src/logging/nm-logging.c index 5d1c4b972..f071f847d 100644 --- a/src/logging/nm-logging.c +++ b/src/logging/nm-logging.c @@ -460,20 +460,18 @@ nm_log_handler (const gchar *log_domain, void nm_logging_syslog_openlog (gboolean debug) { - static gsize log_handler_initialized = 0; - if (debug) openlog (G_LOG_DOMAIN, LOG_CONS | LOG_PERROR | LOG_PID, LOG_USER); else openlog (G_LOG_DOMAIN, LOG_PID, LOG_DAEMON); - syslog_opened = TRUE; - if (g_once_init_enter (&log_handler_initialized)) { + if (!syslog_opened) { + syslog_opened = TRUE; + g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, nm_log_handler, NULL); - g_once_init_leave (&log_handler_initialized, 1); } }