X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fkmsg-syslogd.c;h=4edb16136b58cb6ac1a53b37b2cc159138c86f04;hp=f5c8e7121d19a7a48fdf5aa1420a85519e0643ee;hb=cc5524ecc60a83fb88cac02fe02e21cde3951a25;hpb=addab137cd8d318e4f543ca56018ee23d51aaca9 diff --git a/src/kmsg-syslogd.c b/src/kmsg-syslogd.c index f5c8e7121..4edb16136 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) (10*MSEC_PER_SEC)) typedef struct Stream Stream; @@ -473,16 +472,16 @@ static int process_event(Server *s, struct epoll_event *ev) { int main(int argc, char *argv[]) { Server server; - int r = 3, n; + int r = EXIT_FAILURE, n; if (getppid() != 1) { log_error("This program should be invoked by init only."); - return 1; + return EXIT_FAILURE; } if (argc > 1) { log_error("This program does not take arguments."); - return 1; + return EXIT_FAILURE; } log_set_target(LOG_TARGET_KMSG); @@ -491,16 +490,16 @@ int main(int argc, char *argv[]) { if ((n = sd_listen_fds(true)) < 0) { log_error("Failed to read listening file descriptors from environment: %s", strerror(-r)); - return 1; + return EXIT_FAILURE; } if (n <= 0 || n > SERVER_FD_MAX) { log_error("No or too many file descriptors passed."); - return 2; + return EXIT_FAILURE; } if (server_init(&server, (unsigned) n) < 0) - return 3; + return EXIT_FAILURE; log_debug("systemd-kmsg-syslogd running as pid %lu", (unsigned long) getpid()); @@ -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; @@ -531,7 +530,7 @@ int main(int argc, char *argv[]) { break; } - r = 0; + r = EXIT_SUCCESS; log_debug("systemd-kmsg-syslogd stopped as pid %lu", (unsigned long) getpid());