X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fkmsg-syslogd.c;h=c78011fe226d56cf06e1a067646358d27f4a55b4;hb=d59d0a2b4b41a75eaf618b26b8f8bd1e17de7e2b;hp=a2715ae0fa1b960ae68f2b7702bfc41180ddd48a;hpb=3351dc07213d17c2d5443c40d7fe100c0c4dce9a;p=elogind.git diff --git a/src/kmsg-syslogd.c b/src/kmsg-syslogd.c index a2715ae0f..c78011fe2 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*MSEC_PER_MINUTE)) typedef struct Stream Stream; @@ -355,7 +354,9 @@ static int write_message(Server *s, const char *buf, struct ucred *ucred) { /* Then, add process if set */ if (read_process(&buf, &iovec[i]) > 0) i++; - else if (ucred && get_process_name(ucred->pid, &process) >= 0) + else if (ucred && + ucred->pid > 0 && + get_process_name(ucred->pid, &process) >= 0) IOVEC_SET_STRING(iovec[i++], process); /* Skip the stored PID if we have a better one */ @@ -512,7 +513,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;