From 2ab34a57367f56e36e8a9a5876cd53de8f0cd9ce Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 1 Jun 2011 13:46:14 +0200 Subject: [PATCH] Revert "s3: Mark sockets in error state writable" This reverts commit 5f6f71956460d6840c1433b59e20555268b622ac. Autobuild-User: Volker Lendecke Autobuild-Date: Wed Jun 1 14:56:25 CEST 2011 on sn-devel-104 --- source3/lib/events.c | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/source3/lib/events.c b/source3/lib/events.c index 499d92edd2c..9ff14880ecd 100644 --- a/source3/lib/events.c +++ b/source3/lib/events.c @@ -260,29 +260,6 @@ bool run_events_poll(struct tevent_context *ev, int pollrtn, if (pfd->revents & (POLLIN|POLLHUP|POLLERR)) { flags |= EVENT_FD_READ; - - if ((fde->flags & EVENT_FD_READ) == 0) { - /* - * This one is a bit subtle. If a socket is - * not being asked for readability and dies - * with POLLHUP|POLLERR, then the write - * handler must be activated to detect the - * dead socket with a failed write(2) - * call. The error I've seen is winbind - * spinning in poll trying to send something - * to a DC on a dead socket. poll gave - * POLLHUP|POLLERR, but because winbind at - * this moment only had asked for socket - * writability, it spun. - * - * We can't activate EVENT_FD_WRITE though - * whenever we have an error condition via - * POLLHUP|POLLERR, because at least smbd - * monitors EVENT_FD_WRITE in its callback, - * doing nothing. - */ - flags |= EVENT_FD_WRITE; - } } if (pfd->revents & POLLOUT) { flags |= EVENT_FD_WRITE; -- 2.11.4.GIT