summary refs log tree commit diff
path: root/bounce.c
diff options
context:
space:
mode:
Diffstat (limited to 'bounce.c')
-rw-r--r--bounce.c5
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;