[SCM] Samba Shared Repository - branch master updated

David Disseldorp ddiss at samba.org
Tue Mar 3 09:34:02 MST 2015


The branch, master has been updated
       via  7be3a5f tevent: Ignore unexpected signal events in the same way the epoll backend does.
      from  38628b1 Fix the O3 developer build

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


- Log -----------------------------------------------------------------
commit 7be3a5f92ddbb378a3c80e455cb7403f7861efa1
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Mar 2 16:17:54 2015 -0800

    tevent: Ignore unexpected signal events in the same way the epoll backend does.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=11118
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: David Disseldorp <ddiss at samba.org>
    
    Autobuild-User(master): David Disseldorp <ddiss at samba.org>
    Autobuild-Date(master): Tue Mar  3 17:33:06 CET 2015 on sn-devel-104

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

Summary of changes:
 lib/tevent/tevent_port.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tevent/tevent_port.c b/lib/tevent/tevent_port.c
index 93e94b2..dd4958e 100644
--- a/lib/tevent/tevent_port.c
+++ b/lib/tevent/tevent_port.c
@@ -483,10 +483,16 @@ static int port_event_loop(struct port_event_context *port_ev, struct timeval *t
 	port_errno = errno;
 	tevent_trace_point_callback(ev, TEVENT_TRACE_AFTER_WAIT);
 
-	if (ret == -1 && port_errno == EINTR && ev->signal_events) {
-		if (tevent_common_check_signal(ev)) {
-			return 0;
+	if (ret == -1 && port_errno == EINTR) {
+		if (ev->signal_events) {
+			tevent_common_check_signal(ev);
 		}
+		/*
+		 * If no signal handlers we got an unsolicited
+		 * signal wakeup. This can happen with epoll
+		 * too. Just return and ignore.
+		 */
+		return 0;
 	}
 
 	if (ret == -1 && port_errno == ETIME && tvalp) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list