It is generally considered a good idea to release a fast mutex in the same order that you acquired it, since acquiring at passive->apc and apc->apc does not bode well when you release to apc->passive. passive->apc. This fixes the npfs bug on vmware, lowering the total npfs bug count to a mere 42.

svn path=/trunk/; revision=19357
This commit is contained in:
Alex Ionescu
2005-11-20 08:46:09 +00:00
parent 4c62f96aad
commit 474b9e8155
+3 -3
View File
@@ -618,13 +618,13 @@ NpfsCleanup(PDEVICE_OBJECT DeviceObject,
KeSetEvent(&OtherSide->WriteEvent, IO_NO_INCREMENT, FALSE);
if (Server)
{
ExReleaseFastMutex(&OtherSide->DataListLock);
ExReleaseFastMutex(&Fcb->DataListLock);
ExReleaseFastMutex(&OtherSide->DataListLock);
}
else
{
ExReleaseFastMutex(&OtherSide->DataListLock);
ExReleaseFastMutex(&Fcb->DataListLock);
ExReleaseFastMutex(&Fcb->DataListLock);
ExReleaseFastMutex(&OtherSide->DataListLock);
}
}
else if (Fcb->PipeState == FILE_PIPE_LISTENING_STATE)