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

Jeremy Allison jra at samba.org
Wed Oct 20 09:39:28 MDT 2010


The branch, v3-6-test has been updated
       via  f74e696 s3: Cope with EINTR in smbd_[un]lock_socket (cherry picked from commit da00021a7c236f9ac87442b96881bf0b2701ad0b)
       via  e245b70 s3: Add some DEBUG
      from  f91c4b0 Add deadtime detection for SMB2. Correctly update lastused timestamp across all active tcons. Should fix dfree cache not updating bug.

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


- Log -----------------------------------------------------------------
commit f74e6964db8748015ec1084441e66fc688e11c0b
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Oct 19 08:53:21 2010 +0200

    s3: Cope with EINTR in smbd_[un]lock_socket
    (cherry picked from commit da00021a7c236f9ac87442b96881bf0b2701ad0b)

commit e245b701ec6af2398dc920d1adcefa8bc6079240
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Oct 19 08:59:14 2010 +0200

    s3: Add some DEBUG
    
    Autobuild-User: Volker Lendecke <vlendec at samba.org>
    Autobuild-Date: Wed Oct 20 11:58:20 UTC 2010 on sn-devel-104
    (cherry picked from commit efb22bf782fe49ca60650c87a0ead8ae93c06eca)

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

Summary of changes:
 source3/smbd/process.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 780b97d..0416a8b 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -59,9 +59,14 @@ static bool smbd_lock_socket_internal(struct smbd_server_connection *sconn)
 
 	DEBUG(10,("pid[%d] wait for socket lock\n", (int)sys_getpid()));
 
-	ok = fcntl_lock(sconn->smb1.echo_handler.socket_lock_fd,
+	do {
+		ok = fcntl_lock(
+			sconn->smb1.echo_handler.socket_lock_fd,
 			SMB_F_SETLKW, 0, 0, F_WRLCK);
+	} while (!ok && (errno == EINTR));
+
 	if (!ok) {
+		DEBUG(1, ("fcntl_lock failed: %s\n", strerror(errno)));
 		return false;
 	}
 
@@ -91,9 +96,14 @@ static bool smbd_unlock_socket_internal(struct smbd_server_connection *sconn)
 		return true;
 	}
 
-	ok = fcntl_lock(sconn->smb1.echo_handler.socket_lock_fd,
+	do {
+		ok = fcntl_lock(
+			sconn->smb1.echo_handler.socket_lock_fd,
 			SMB_F_SETLKW, 0, 0, F_UNLCK);
+	} while (!ok && (errno == EINTR));
+
 	if (!ok) {
+		DEBUG(1, ("fcntl_lock failed: %s\n", strerror(errno)));
 		return false;
 	}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list