Changeset 336 for branches/samba-3.0/source/smbd/process.c
- Timestamp:
- Oct 8, 2009, 7:51:22 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/smbd/process.c
r165 r336 94 94 msg->request_time = request_time; 95 95 msg->end_time = end_time; 96 msg->processed = false; 96 97 97 98 if (private_data) { … … 163 164 164 165 /**************************************************************************** 165 Return true if this mid is on the deferred queue .166 Return true if this mid is on the deferred queue and was not yet processed. 166 167 ****************************************************************************/ 167 168 … … 171 172 172 173 for (pml = deferred_open_queue; pml; pml = pml->next) { 173 if (SVAL(pml->buf.data,smb_mid) == mid ) {174 if (SVAL(pml->buf.data,smb_mid) == mid && !pml->processed) { 174 175 return True; 175 176 } … … 410 411 know this is a retry. */ 411 412 DEBUG(5,("receive_message_or_smb: returning deferred open smb message.\n")); 413 414 /* Mark the message as processed so this is not 415 * re-processed in error. */ 416 msg->processed = true; 412 417 return True; 413 418 } … … 968 973 969 974 if (!change_to_user(conn,session_tag)) { 970 remove_deferred_open_smb_message(971 SVAL(inbuf, smb_mid));972 975 return(ERROR_NT(NT_STATUS_DOS(ERRSRV,ERRbaduid))); 973 976 } … … 1018 1021 static int construct_reply(char *inbuf,char *outbuf,int size,int bufsize) 1019 1022 { 1023 struct pending_message_list *pml = NULL; 1020 1024 int type = CVAL(inbuf,smb_com); 1021 1025 int outsize = 0; 1022 1026 int msg_type = CVAL(inbuf,0); 1027 uint16_t mid = SVAL(inbuf, smb_mid); 1023 1028 1024 1029 chain_size = 0; … … 1032 1037 1033 1038 outsize = switch_message(type,inbuf,outbuf,size,bufsize); 1039 1040 /* If this was a deferred message and it's still there and 1041 * was processed, remove it. */ 1042 pml = get_open_deferred_message(mid); 1043 if (pml && pml->processed) { 1044 remove_deferred_open_smb_message(mid); 1045 } 1034 1046 1035 1047 outsize += chain_size;
Note:
See TracChangeset
for help on using the changeset viewer.