From: Lennart Poettering Date: Sat, 21 Dec 2013 16:46:35 +0000 (+0100) Subject: bus: poll() on the right fds in proxyd X-Git-Tag: v209~769 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b2bb3469fd01cec57f1f1726edb5b851ff8427ad;hp=0721804f03934c17509af4f485c3bcef9d86862c bus: poll() on the right fds in proxyd --- diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c index d8caf406c..91472d93f 100644 --- a/src/bus-proxyd/bus-proxyd.c +++ b/src/bus-proxyd/bus-proxyd.c @@ -266,6 +266,7 @@ int main(int argc, char *argv[]) { int events_a, events_b, fd; uint64_t timeout_a, timeout_b, t; struct timespec _ts, *ts; + struct pollfd *pollfd; int k; r = sd_bus_process(a, &m); @@ -374,14 +375,13 @@ int main(int argc, char *argv[]) { ts = timespec_store(&_ts, t); } - { - struct pollfd p[3] = { - {.fd = fd, .events = events_a, }, - {.fd = STDIN_FILENO, .events = events_b & POLLIN, }, - {.fd = STDOUT_FILENO, .events = events_b & POLLOUT, }}; + pollfd = (struct pollfd[3]) { + {.fd = fd, .events = events_a, }, + {.fd = in_fd, .events = events_b & POLLIN, }, + {.fd = out_fd, .events = events_b & POLLOUT, } + }; - r = ppoll(p, ELEMENTSOF(p), ts, NULL); - } + r = ppoll(pollfd, 3, ts, NULL); if (r < 0) { log_error("ppoll() failed: %m"); goto finish;