X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournald-stream.c;h=36fc755260f585f13ea29e9956d4ef06bedc2fa4;hb=9842de0d93dc895800a43ccf1d04e5174f0ffea8;hp=aba9054b2712482a52b3c8c6b38dbd920640a039;hpb=7b77ed8cf36e8eca6017791626044b61ae2d68e7;p=elogind.git diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c index aba9054b2..36fc75526 100644 --- a/src/journal/journald-stream.c +++ b/src/journal/journald-stream.c @@ -354,7 +354,6 @@ static int stdout_stream_new(sd_event_source *es, int listen_fd, uint32_t revent Server *s = userdata; StdoutStream *stream; int fd, r; - socklen_t len; assert(s); @@ -386,8 +385,8 @@ static int stdout_stream_new(sd_event_source *es, int listen_fd, uint32_t revent stream->fd = fd; - len = sizeof(stream->ucred); - if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &stream->ucred, &len) < 0) { + r = getpeercred(fd, &stream->ucred); + if (r < 0) { log_error("Failed to determine peer credentials: %m"); goto fail; } @@ -404,7 +403,7 @@ static int stdout_stream_new(sd_event_source *es, int listen_fd, uint32_t revent goto fail; } - r = sd_event_add_io(s->event, fd, EPOLLIN, stdout_stream_process, stream, &stream->event_source); + r = sd_event_add_io(s->event, &stream->event_source, fd, EPOLLIN, stdout_stream_process, stream); if (r < 0) { log_error("Failed to add stream to event loop: %s", strerror(-r)); goto fail; @@ -461,7 +460,7 @@ int server_open_stdout_socket(Server *s) { } else fd_nonblock(s->stdout_fd, 1); - r = sd_event_add_io(s->event, s->stdout_fd, EPOLLIN, stdout_stream_new, s, &s->stdout_event_source); + r = sd_event_add_io(s->event, &s->stdout_event_source, s->stdout_fd, EPOLLIN, stdout_stream_new, s); if (r < 0) { log_error("Failed to add stdout server fd to event source: %s", strerror(-r)); return r;