X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournald-syslog.c;h=241f7edb6e19db8102ce6b32db89e25aeaa143bd;hb=0a1b6da82109c3b08b1f966a1625a77cc312135a;hp=2caa1738d9759e5a1b7a7e1f33657252907a9e34;hpb=e3bfb7be07d9b1f4ebb12eb22c4c8bcd2a988d51;p=elogind.git diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c index 2caa1738d..241f7edb6 100644 --- a/src/journal/journald-syslog.c +++ b/src/journal/journald-syslog.c @@ -418,7 +418,6 @@ void server_process_syslog_message( int server_open_syslog_socket(Server *s) { int one, r; - struct epoll_event ev; assert(s); @@ -469,12 +468,10 @@ int server_open_syslog_socket(Server *s) { return -errno; } - zero(ev); - ev.events = EPOLLIN; - ev.data.fd = s->syslog_fd; - if (epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, s->syslog_fd, &ev) < 0) { - log_error("Failed to add syslog server fd to epoll object: %m"); - return -errno; + r = sd_event_add_io(s->event, &s->syslog_event_source, s->syslog_fd, EPOLLIN, process_datagram, s); + if (r < 0) { + log_error("Failed to add syslog server fd to event loop: %s", strerror(-r)); + return r; } return 0;