diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-01-11 03:16:24 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-01-11 03:16:24 +0100 |
commit | 731a676c206bb1b48e7f736ce9f5b730252d1601 (patch) | |
tree | 3b53b0f7ea96f2b7e0268e89aaf805e2e22025e3 /src/manager.c | |
parent | 3ebcdf8cd97026724fd773648d02bde12d718824 (diff) |
systemd: reconnect to syslog as soon as the journal is fully up
Diffstat (limited to 'src/manager.c')
-rw-r--r-- | src/manager.c | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/src/manager.c b/src/manager.c index dbcd630b05..54df7ebe5f 100644 --- a/src/manager.c +++ b/src/manager.c @@ -3129,36 +3129,20 @@ void manager_recheck_syslog(Manager *m) { if (m->running_as != MANAGER_SYSTEM) return; - if ((u = manager_get_unit(m, SPECIAL_SYSLOG_SOCKET))) { - SocketState state; - - state = SOCKET(u)->state; - - if (state != SOCKET_DEAD && - state != SOCKET_FAILED && - state != SOCKET_RUNNING) { - - /* Hmm, the socket is not set up, or is still - * listening, let's better not try to use - * it. Note that we have no problem if the - * socket is completely down, since there - * might be a foreign /dev/log socket around - * and we want to make use of that. - */ - - log_close_syslog(); - return; - } + u = manager_get_unit(m, SPECIAL_JOURNALD_SOCKET); + if (u && SOCKET(u)->state != SOCKET_RUNNING) { + log_close_syslog(); + return; } - if ((u = manager_get_unit(m, SPECIAL_SYSLOG_TARGET))) - if (TARGET(u)->state != TARGET_ACTIVE) { - log_close_syslog(); - return; - } + u = manager_get_unit(m, SPECIAL_JOURNALD_SERVICE); + if (u && SERVICE(u)->state != SERVICE_RUNNING) { + log_close_syslog(); + return; + } - /* Hmm, OK, so the socket is either fully up, or fully down, - * and the target is up, then let's make use of the socket */ + /* Hmm, OK, so the socket is fully up and the service is up + * too, then let's make use of the thing. */ log_open(); } |