[SCM] Samba Shared Repository - branch v3-3-test updated

Karolin Seeger kseeger at samba.org
Thu Oct 8 04:27:47 MDT 2009


The branch, v3-3-test has been updated
       via  a4df440... s3:winbind: Only ever handle one event after a select call
      from  faf7197... Fix bug 6776 - Running overlapping Byte Lock test will core dump Samba daemon. Re-write core of POSIX locking logic. Jeremy.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test


- Log -----------------------------------------------------------------
commit a4df4406f12281db60fd6612c6ebf93d77af9152
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Oct 7 15:53:46 2009 +0200

    s3:winbind: Only ever handle one event after a select call
    
    While handling an fd event, the situation with other fds can change. I've just
    seen a winbind stuck in the accept() call on the privileged pipe. I can only
    imagine this happen because under high load we first handled other requests and
    meanwhile the client on the privileged pipe went away.

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

Summary of changes:
 source/winbindd/winbindd.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/winbindd/winbindd.c b/source/winbindd/winbindd.c
index 9005e67..1d618e2 100644
--- a/source/winbindd/winbindd.c
+++ b/source/winbindd/winbindd.c
@@ -847,7 +847,9 @@ static void process_loop(void)
 
 	message_dispatch(winbind_messaging_context());
 
-	run_events(winbind_event_context(), 0, NULL, NULL);
+	if (run_events(winbind_event_context(), 0, NULL, NULL)) {
+		return;
+	}
 
 	/* refresh the trusted domain cache */
 
@@ -927,8 +929,10 @@ static void process_loop(void)
 			flags |= EVENT_FD_READ;
 		if (FD_ISSET(ev->fd, &w_fds))
 			flags |= EVENT_FD_WRITE;
-		if (flags)
+		if (flags) {
 			ev->handler(ev, flags);
+			return;
+		}
 		ev = next;
 	}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list