mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
[UDFS]
Revert r74780: it indeed works here, but when the problem happens in other places (it does!) where it cannot be solved that way, we're doomed. It will be required to find an appropriate solution... CORE-4375 svn path=/trunk/; revision=74805
This commit is contained in:
parent
6045d865f8
commit
52d2b0fff1
1 changed files with 5 additions and 1 deletions
|
@ -1109,6 +1109,7 @@ UDFQueueDelayedClose(
|
|||
{
|
||||
PtrUDFIrpContextLite IrpContextLite;
|
||||
BOOLEAN StartWorker = FALSE;
|
||||
BOOLEAN AcquiredVcb = FALSE;
|
||||
NTSTATUS RC;
|
||||
|
||||
AdPrint((" UDFQueueDelayedClose\n"));
|
||||
|
@ -1118,6 +1119,7 @@ UDFQueueDelayedClose(
|
|||
UDFAcquireResourceExclusive(&(UDFGlobalData.DelayedCloseResource), TRUE);
|
||||
|
||||
UDFAcquireResourceShared(&(Fcb->Vcb->VCBResource), TRUE);
|
||||
AcquiredVcb = TRUE;
|
||||
|
||||
if(Fcb->FCBFlags & UDF_FCB_DELETE_ON_CLOSE) {
|
||||
try_return(RC = STATUS_DELETE_PENDING);
|
||||
|
@ -1181,7 +1183,9 @@ try_exit: NOTHING;
|
|||
if(!NT_SUCCESS(RC)) {
|
||||
Fcb->FCBFlags &= ~UDF_FCB_DELAY_CLOSE;
|
||||
}
|
||||
UDFReleaseResource(&(Fcb->Vcb->VCBResource));
|
||||
if(AcquiredVcb) {
|
||||
UDFReleaseResource(&(Fcb->Vcb->VCBResource));
|
||||
}
|
||||
// Release DelayedCloseResource
|
||||
UDFReleaseResource(&(UDFGlobalData.DelayedCloseResource));
|
||||
} _SEH2_END;
|
||||
|
|
Loading…
Reference in a new issue