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.
This commit is contained in:
Lennart Poettering 2011-03-07 21:56:09 +01:00
parent 0992bbd109
commit b670e92b50
2 changed files with 3 additions and 2 deletions

View File

@ -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 && \

View File

@ -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;