[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Fri Jun 3 16:28:02 MDT 2011


The branch, master has been updated
       via  3c9b3b2 Add the same fix to the S3 event backend as the previous commit added to the tevent poll backend.
      from  dbcdf3e Fix the poll() backend to correctly respond to POLLHUP|POLLERR returns on a fd selected for TEVENT_FD_WRITE only.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 3c9b3b2befc524f21c59f46ea9be1602b4b1bfe8
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Jun 3 12:55:19 2011 -0700

    Add the same fix to the S3 event backend as the previous commit added to the tevent poll backend.
    
    Metze please check !
    
    Autobuild-User: Jeremy Allison <jra at samba.org>
    Autobuild-Date: Sat Jun  4 00:27:37 CEST 2011 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 source3/lib/events.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/events.c b/source3/lib/events.c
index 9ff1488..fbe3db9 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -258,7 +258,20 @@ bool run_events_poll(struct tevent_context *ev, int pollrtn,
 			return false;
 		}
 
-		if (pfd->revents & (POLLIN|POLLHUP|POLLERR)) {
+		if (pfd->revents & (POLLHUP|POLLERR)) {
+			/* If we only wait for EVENT_FD_WRITE, we
+			   should not tell the event handler about it,
+			   and remove the writable flag, as we only
+			   report errors when waiting for read events
+			   to match the select behavior. */
+			if (!(fde->flags & EVENT_FD_READ)) {
+				EVENT_FD_NOT_WRITEABLE(fde);
+				continue;
+			}
+			flags |= EVENT_FD_READ;
+		}
+
+		if (pfd->revents & POLLIN) {
 			flags |= EVENT_FD_READ;
 		}
 		if (pfd->revents & POLLOUT) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list