The branch, master has been updated
       via  efb22bf s3: Add some DEBUG
       via  da00021 s3: Cope with EINTR in smbd_[un]lock_socket
      from  4a8c17a libcli/ldap Don't try and encode a control with a NULL OID

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit efb22bf782fe49ca60650c87a0ead8ae93c06eca
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

commit da00021a7c236f9ac87442b96881bf0b2701ad0b
Author: Volker Lendecke <v...@samba.org>
Date:   Tue Oct 19 08:53:21 2010 +0200

    s3: Cope with EINTR in smbd_[un]lock_socket

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

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 f2aa23e..a1aed80 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -48,9 +48,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;
        }
 
@@ -80,9 +85,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

Reply via email to