diff options
author | Jeremy Allison <jra@samba.org> | 2010-03-31 17:40:30 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-03-31 17:40:30 -0700 |
commit | 6800fdbb81130b79c2e077e9a7fcbe2d5e0813cb (patch) | |
tree | d2fcafbd48c8e07b02765a0863e4de03fbf447d6 /source3/smbd/globals.h | |
parent | bb54089503907745a33a09cb27ead565d1205165 (diff) | |
download | samba-6800fdbb81130b79c2e077e9a7fcbe2d5e0813cb.tar.gz samba-6800fdbb81130b79c2e077e9a7fcbe2d5e0813cb.tar.bz2 samba-6800fdbb81130b79c2e077e9a7fcbe2d5e0813cb.zip |
Make smbd_lock_socket/smbd_unlock_socket recursive with a ref_count.
As these always call exit_server, make that part of the function.
Use _internal functions for the echo client.
Metze please check !
Jeremy.
Diffstat (limited to 'source3/smbd/globals.h')
-rw-r--r-- | source3/smbd/globals.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index 6e5262a991..3b58cb4ef3 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -153,8 +153,8 @@ struct smbd_smb2_tcon; DATA_BLOB negprot_spnego(void); -bool smbd_lock_socket(struct smbd_server_connection *sconn); -bool smbd_unlock_socket(struct smbd_server_connection *sconn); +void smbd_lock_socket(struct smbd_server_connection *sconn); +void smbd_unlock_socket(struct smbd_server_connection *sconn); NTSTATUS smb2_signing_sign_pdu(DATA_BLOB session_key, struct iovec *vector, @@ -452,6 +452,12 @@ struct smbd_server_connection { * fde for the trusted_fd */ struct fd_event *trusted_fde; + + /* + * Reference count for the fcntl lock to + * allow recursive locks. + */ + int ref_count; } echo_handler; uint64_t num_requests; |