Code

syslog plugin: Initialize syslog as soon as possible.
authorSebastian Harl <sh@tokkee.org>
Sun, 29 Jun 2014 16:00:34 +0000 (18:00 +0200)
committerSebastian Harl <sh@tokkee.org>
Sun, 29 Jun 2014 16:00:34 +0000 (18:00 +0200)
Don't wait for the init callback to be called -- we might receive log messages
earlier than that.

src/plugins/syslog.c

index 02c62414b6856cd7003c1fd677f312007826b1ce..f1c3e55fb5de3ffb71a28b9be3b9d37848a0f20a 100644 (file)
@@ -55,13 +55,6 @@ SDB_PLUGIN_MAGIC;
  * plugin API
  */
 
-static int
-sdb_syslog_init(sdb_object_t __attribute__((unused)) *user_data)
-{
-       openlog("sysdbd", LOG_NDELAY | LOG_NOWAIT | LOG_PID, LOG_DAEMON);
-       return 0;
-} /* sdb_syslog_init */
-
 static int
 sdb_syslog_log(int prio, const char *msg,
                sdb_object_t __attribute__((unused)) *user_data)
@@ -88,7 +81,9 @@ sdb_module_init(sdb_plugin_info_t *info)
        sdb_plugin_set_info(info, SDB_PLUGIN_INFO_VERSION, SDB_VERSION);
        sdb_plugin_set_info(info, SDB_PLUGIN_INFO_PLUGIN_VERSION, SDB_VERSION);
 
-       sdb_plugin_register_init("main", sdb_syslog_init, NULL);
+       if (info)
+               openlog("sysdbd", LOG_NDELAY | LOG_NOWAIT | LOG_PID, LOG_DAEMON);
+
        sdb_plugin_register_log("main", sdb_syslog_log, NULL);
        sdb_plugin_register_shutdown("main", sdb_syslog_shutdown, NULL);
        return 0;