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

Karolin Seeger kseeger at samba.org
Sat Feb 5 10:49:55 MST 2011


The branch, v3-5-test has been updated
       via  44a2e73 s3:lib/events: use DLIST_DEMOTE() for fd events
       via  8a82e65 s3:smbd: let smbd_server_connection_loop_once() check for select errors
       via  6647d68 s3:lib/events: don't loop over fd events is select gave -1
      from  a50a0f4 s3: Fix bug 7940 -- fall back for utimes calls

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


- Log -----------------------------------------------------------------
commit 44a2e73cf07110e463f2262c50a377bdf17253d6
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jan 24 08:47:12 2011 +0100

    s3:lib/events: use DLIST_DEMOTE() for fd events
    
    This makes sure that fd events doesn't dry out,
    because a fd with a lower number is busy.
    
    metze
    
    The last 3 patches address bug #7942 (inotify can somehow cause endless loops in
    with select()).
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Mon Jan 31 16:59:44 CET 2011 on sn-devel-104
    (cherry picked from commit ad10289ebcc78ab62ec86abb29f81eb769d17f4e)
    (cherry picked from commit 3d2f72844a221dbdfe94fbf6e2b45c98ee158a9b)

commit 8a82e65f711e2f4ac893bd7e2365b305e1b088b8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jan 24 09:00:53 2011 +0100

    s3:smbd: let smbd_server_connection_loop_once() check for select errors
    
    metze
    (cherry picked from commit 0bbe7334d69bcaa476f0741e0bd9685b023a4208)
    (cherry picked from commit d677921237c66e6cdf83de04e16c576a101d6493)

commit 6647d687654aff806dfa8d797634b47ede36bf9c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jan 24 08:57:47 2011 +0100

    s3:lib/events: don't loop over fd events is select gave -1
    
    metze
    (cherry picked from commit 1f2be10ebf4cc06e3b7aac41ea35bfc4a41ce828)
    (cherry picked from commit d506b574bb94fdc23c5a62c5326cd478b5b63a11)

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

Summary of changes:
 source3/lib/events.c   |    3 ++-
 source3/smbd/process.c |    4 ++++
 2 files changed, 6 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/events.c b/source3/lib/events.c
index 75aa250..c529038 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -131,7 +131,7 @@ bool run_events(struct tevent_context *ev,
 		return true;
 	}
 
-	if (selrtn == 0) {
+	if (selrtn <= 0) {
 		/*
 		 * No fd ready
 		 */
@@ -145,6 +145,7 @@ bool run_events(struct tevent_context *ev,
 		if (FD_ISSET(fde->fd, write_fds)) flags |= EVENT_FD_WRITE;
 
 		if (flags & fde->flags) {
+			DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd *);
 			fde->handler(ev, fde, flags, fde->private_data);
 			return true;
 		}
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index f7b0f4c..5292060 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -837,6 +837,10 @@ static NTSTATUS smbd_server_connection_loop_once(struct smbd_server_connection *
 		errno = sav;
 	}
 
+	if (selrtn == -1 && errno != EINTR) {
+		return map_nt_error_from_unix(errno);
+	}
+
 	if (run_events(smbd_event_context(), selrtn, &r_fds, &w_fds)) {
 		return NT_STATUS_RETRY;
 	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list