diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-03-07 21:56:09 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-07 21:56:13 +0100 |
commit | b670e92b50686773c82ccb4c07f93e85ff90783b (patch) | |
tree | eab849ce13a2d0bd3a700e366fe4f04db0ca16f9 | |
parent | 0992bbd109d60ce10ddd8895259fd9b4c1bbfdb5 (diff) |
syslog: make sure the kmsg bridge is always pulled in and never terminated automatically
Since we want to replace the bridge dynamically by the real syslog
implementation such as rsyslog we need to make sure that the the bridge
stays running right to the moment rsyslog is up so that we process
messages enqueued by other processes started before rsyslog, so that
those clients don't stay stuck.
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | src/kmsg-syslogd.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index 7bbdb24bd8..8d34dab8d9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1292,6 +1292,7 @@ install-data-hook: systemd-tmpfiles-setup.service \ systemd-sysctl.service \ systemd-ask-password-console.path \ + systemd-kmsg-syslogd.service \ cryptsetup.target && \ $(LN_S) ../dev-hugepages.automount dev-hugepages.automount && \ $(LN_S) ../dev-mqueue.automount dev-mqueue.automount && \ @@ -1304,6 +1305,7 @@ install-data-hook: $(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \ $(LN_S) ../systemd-sysctl.service systemd-sysctl.service && \ $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path && \ + $(LN_S) ../systemd-kmsg-syslogd.service && \ $(LN_S) ../cryptsetup.target cryptsetup.target ) ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \ rm -f systemd-tmpfiles-clean.timer && \ diff --git a/src/kmsg-syslogd.c b/src/kmsg-syslogd.c index e23c9d3862..4edb16136b 100644 --- a/src/kmsg-syslogd.c +++ b/src/kmsg-syslogd.c @@ -39,7 +39,6 @@ #include "fdset.h" #define SERVER_FD_MAX 16 -#define TIMEOUT ((int) (5*60*MSEC_PER_SEC)) typedef struct Stream Stream; @@ -512,7 +511,7 @@ int main(int argc, char *argv[]) { struct epoll_event event; int k; - if ((k = epoll_wait(server.epoll_fd, &event, 1, TIMEOUT)) < 0) { + if ((k = epoll_wait(server.epoll_fd, &event, 1, -1)) < 0) { if (errno == EINTR) continue; |