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 <v...@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 <v...@samba.org> Date: Tue Oct 19 08:59:14 2010 +0200 s3: Add some DEBUG Autobuild-User: Volker Lendecke <vlen...@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