- zero(ev);
- ev.events = EPOLLIN;
- ev.data.fd = s->stdout_fd;
- if (epoll_ctl(s->epoll_fd, EPOLL_CTL_ADD, s->stdout_fd, &ev) < 0) {
- log_error("Failed to add stdout server fd to epoll object: %m");
- return -errno;
+ 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;
+ }
+
+ r = sd_event_source_set_priority(s->stdout_event_source, SD_EVENT_PRIORITY_NORMAL+10);
+ if (r < 0) {
+ log_error("Failed to adjust priority of stdout server event source: %s", strerror(-r));
+ return r;