diff options
Diffstat (limited to 'bounce.c')
-rw-r--r-- | bounce.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bounce.c b/bounce.c index c6bd7b1..e113cc6 100644 --- a/bounce.c +++ b/bounce.c @@ -488,11 +488,12 @@ int main(int argc, char *argv[]) { for (;;) { enum Need needs = 0; for (size_t i = clientIndex; i < event.len; ++i) { + struct Client *client = event.clients[i]; event.fds[i].events = POLLIN; - if (clientDiff(event.clients[i])) { + if (!client->need && ringDiff(client->consumer)) { event.fds[i].events |= POLLOUT; } - needs |= event.clients[i]->need; + needs |= client->need; } int timeout = 10000; |