diff options
author | Volker Lendecke <vl@samba.org> | 2018-04-10 21:27:47 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2018-04-11 19:07:24 +0200 |
commit | d40891a14683a9cc8951ad36fb9e09831b7122af (patch) | |
tree | e6c4de3e2595128b6a8c2e85bcff2c83b583ee72 /source3/smbd/process.c | |
parent | e7522a4ff8124b8d7bfad9c805dd140475d418e2 (diff) | |
download | samba-d40891a14683a9cc8951ad36fb9e09831b7122af.tar.gz |
smbd: Fix CID 1414783 Double unlock
The loop is unnecessary, both susv4 as well as the Linux manpage
explicitly say:
> These functions shall not return an error code of [EINTR].
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r-- | source3/smbd/process.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index df54a44b884..f992e65fc90 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -162,15 +162,9 @@ static bool smbd_unlock_socket_internal(struct smbXsrv_connection *xconn) #ifdef HAVE_ROBUST_MUTEXES if (xconn->smb1.echo_handler.socket_mutex != NULL) { - int ret = EINTR; - - while (ret == EINTR) { - ret = pthread_mutex_unlock( - xconn->smb1.echo_handler.socket_mutex); - if (ret == 0) { - break; - } - } + int ret; + ret = pthread_mutex_unlock( + xconn->smb1.echo_handler.socket_mutex); if (ret != 0) { DEBUG(1, ("pthread_mutex_unlock failed: %s\n", strerror(ret))); |