mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 12:23:30 +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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user