From 1c9b85667070ee3292862d007f03b33b10713edd Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 6 Oct 2010 18:47:08 +0200 Subject: tevent: Only call handlers that ask for events The s3 libsmbclient puts two different handlers on a single fd for readability and writability. With select this works fine, however without this patch we unconditionally call the write handler even if the socket is only readable. We should have called the read handler instead. Autobuild-User: Jeremy Allison Autobuild-Date: Wed Oct 6 23:40:24 UTC 2010 on sn-devel-104 --- lib/tevent/tevent_standard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/tevent/tevent_standard.c b/lib/tevent/tevent_standard.c index 1c8ed0e6ac..a68a03c2ac 100644 --- a/lib/tevent/tevent_standard.c +++ b/lib/tevent/tevent_standard.c @@ -505,7 +505,7 @@ static int std_event_loop_select(struct std_event_context *std_ev, struct timeva if (FD_ISSET(fde->fd, &r_fds)) flags |= TEVENT_FD_READ; if (FD_ISSET(fde->fd, &w_fds)) flags |= TEVENT_FD_WRITE; - if (flags) { + if (flags & fde->flags) { fde->handler(std_ev->ev, fde, flags, fde->private_data); break; } -- cgit