Skip to content
Snippets Groups Projects
Commit 3ee50fae authored by rswindell's avatar rswindell
Browse files

Basically the same fix to smb_locksmbhdr(), if already locked, don't sleep.

parent 6e5e30b9
No related branches found
No related tags found
No related merge requests found
......@@ -352,7 +352,9 @@ int SMBCALL smb_locksmbhdr(smb_t* smb)
/* In case we've already locked it */
if(unlock(fileno(smb->shd_fp),0L,sizeof(smbhdr_t)+sizeof(smbstatus_t))==0)
smb->locked=FALSE;
SLEEP(smb->retry_delay);
else {
SLEEP(smb->retry_delay);
}
}
safe_snprintf(smb->last_error,sizeof(smb->last_error),"timeout locking header");
return(SMB_ERR_TIMEOUT);
......@@ -475,8 +477,9 @@ int SMBCALL smb_lockmsghdr(smb_t* smb, smbmsg_t* msg)
if(time(NULL)-start>=(time_t)smb->retry_time)
break;
/* In case we've already locked it */
if(unlock(fileno(smb->shd_fp),msg->idx.offset,sizeof(msghdr_t))!=0)
if(unlock(fileno(smb->shd_fp),msg->idx.offset,sizeof(msghdr_t))!=0) {
SLEEP(smb->retry_delay);
}
}
safe_snprintf(smb->last_error,sizeof(smb->last_error),"timeout locking header");
return(SMB_ERR_TIMEOUT);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment