diff options
| author | Jeremy Allison <jra@samba.org> | 2011-06-03 12:55:19 -0700 | 
|---|---|---|
| committer | Jeremy Allison <jra@samba.org> | 2011-06-04 00:27:37 +0200 | 
| commit | 3c9b3b2befc524f21c59f46ea9be1602b4b1bfe8 (patch) | |
| tree | 2ccfc4065d85a0da58575b2bcef3bb3e11af9750 | |
| parent | dbcdf3e39c359241b743a9455ae695e14a30caa9 (diff) | |
| download | samba-3c9b3b2befc524f21c59f46ea9be1602b4b1bfe8.tar.gz samba-3c9b3b2befc524f21c59f46ea9be1602b4b1bfe8.tar.bz2 samba-3c9b3b2befc524f21c59f46ea9be1602b4b1bfe8.zip  | |
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@samba.org>
Autobuild-Date: Sat Jun  4 00:27:37 CEST 2011 on sn-devel-104
| -rw-r--r-- | source3/lib/events.c | 15 | 
1 files changed, 14 insertions, 1 deletions
diff --git a/source3/lib/events.c b/source3/lib/events.c index 9ff14880ec..fbe3db942b 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) {  | 
