[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-578-g26a74d0

Jeremy Allison jra at samba.org
Mon Mar 31 23:56:56 GMT 2008


The branch, v3-2-test has been updated
       via  26a74d01bb2b53ffa5d296ff1c7d8b2b0d17831a (commit)
      from  a7499e994aef743ea9c443f9a1618b262f6eda93 (commit)

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


- Log -----------------------------------------------------------------
commit 26a74d01bb2b53ffa5d296ff1c7d8b2b0d17831a
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Mar 31 16:56:21 2008 -0700

    Move the message_dispatch() call after the check for errno on
    the select return. We don't want the call to message_dispatch
    to mess up the errno value.
    Jeremy.

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

Summary of changes:
 source/smbd/process.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/process.c b/source/smbd/process.c
index 03216a0..9aa775d 100644
--- a/source/smbd/process.c
+++ b/source/smbd/process.c
@@ -853,15 +853,6 @@ static NTSTATUS receive_message_or_smb(TALLOC_CTX *mem_ctx, char **buffer,
 		goto again;
 	}
 
-	/*
-	 * We've just woken up from a protentially long select sleep.
-	 * Ensure we process local messages as we need to synchronously
-	 * process any messages from other smbd's to avoid file rename race
-	 * conditions. This call is cheap if there are no messages waiting.
-	 * JRA.
-	 */
-	message_dispatch(smbd_messaging_context());
-
 	/* if we get EINTR then maybe we have received an oplock
 	   signal - treat this as select returning 1. This is ugly, but
 	   is the best we can do until the oplock code knows more about
@@ -880,8 +871,17 @@ static NTSTATUS receive_message_or_smb(TALLOC_CTX *mem_ctx, char **buffer,
 	if (selrtn == -1) {
 		/* something is wrong. Maybe the socket is dead? */
 		return map_nt_error_from_unix(errno);
-	} 
-    
+	}
+
+	/*
+	 * We've just woken up from a protentially long select sleep.
+	 * Ensure we process local messages as we need to synchronously
+	 * process any messages from other smbd's to avoid file rename race
+	 * conditions. This call is cheap if there are no messages waiting.
+	 * JRA.
+	 */
+	message_dispatch(smbd_messaging_context());
+
 	/* Did we timeout ? */
 	if (selrtn == 0) {
 		return NT_STATUS_IO_TIMEOUT;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list