Revert "s3: Mark sockets in error state writable"
authorVolker Lendecke <vl@samba.org>
Wed, 1 Jun 2011 11:46:14 +0000 (13:46 +0200)
committerVolker Lendecke <vlendec@samba.org>
Wed, 1 Jun 2011 12:56:25 +0000 (14:56 +0200)
This reverts commit 5f6f71956460d6840c1433b59e20555268b622ac.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed Jun  1 14:56:25 CEST 2011 on sn-devel-104

source3/lib/events.c

index 499d92edd2c5a9b88fa572f6db6d860b7744f081..9ff14880ecdbeefa968097086e22f2d6b6c51d85 100644 (file)
@@ -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;