Ignore:
Timestamp:
Nov 29, 2012, 1:59:04 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.9

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/server/source3/smbd/blocking.c

    r745 r751  
    327327*****************************************************************************/
    328328
    329 static void reply_lockingX_error(struct blocking_lock_record *blr, NTSTATUS status)
     329static void undo_locks_obtained(struct blocking_lock_record *blr)
    330330{
    331331        files_struct *fsp = blr->fsp;
     
    371371                        WINDOWS_LOCK);
    372372        }
    373 
    374         generic_blocking_lock_error(blr, status);
    375373}
    376374
     
    385383        switch(blr->req->cmd) {
    386384        case SMBlockingX:
    387                 reply_lockingX_error(blr, status);
    388                 break;
     385                /*
     386                 * This code can be called during the rundown of a
     387                 * file after it was already closed. In that case,
     388                 * blr->fsp==NULL and we do not need to undo any
     389                 * locks, they are already gone.
     390                 */
     391                if (blr->fsp != NULL) {
     392                        undo_locks_obtained(blr);
     393                }
     394                generic_blocking_lock_error(blr, status);
     395                break;
    389396        case SMBtrans2:
    390397        case SMBtranss2:
Note: See TracChangeset for help on using the changeset viewer.