[SCM] Samba Shared Repository - branch v3-2-test updated -
release-3-2-0pre2-577-ga7499e9
Jeremy Allison
jra at samba.org
Mon Mar 31 23:46:54 GMT 2008
The branch, v3-2-test has been updated
via a7499e994aef743ea9c443f9a1618b262f6eda93 (commit)
from 3cb1cdee9307cafa80ab95233a536f5dd7882ff1 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit a7499e994aef743ea9c443f9a1618b262f6eda93
Author: Jeremy Allison <jra at samba.org>
Date: Mon Mar 31 16:46:20 2008 -0700
Reduce the race condition in Samba4 in RAW-RENAME test. We rename a file
using trans2 setfileinfo on one connection, and then check the
file name has changed on the other. In Samba we achieve this by
sending a local message to the other process. This change causes
us to re-scan for incoming messages after we've woken up from the
select (which is cheap if there are no pending messages). This reduces
the race significantly. Volker please review.
Jeremy.
-----------------------------------------------------------------------
Summary of changes:
source/smbd/process.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/smbd/process.c b/source/smbd/process.c
index 9c01bba..03216a0 100644
--- a/source/smbd/process.c
+++ b/source/smbd/process.c
@@ -853,6 +853,15 @@ 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
--
Samba Shared Repository
More information about the samba-cvs
mailing list