Author: cgutman
Date: Wed Nov 19 17:55:57 2008
New Revision: 37478
URL:
http://svn.reactos.org/svn/reactos?rev=37478&view=rev
Log:
- Acquire the AddrFile lock before removing an irp from the queue
Modified:
branches/aicom-network-fixes/lib/drivers/ip/transport/datagram/datagram.c
Modified: branches/aicom-network-fixes/lib/drivers/ip/transport/datagram/datagram.c
URL:
http://svn.reactos.org/svn/reactos/branches/aicom-network-fixes/lib/drivers…
==============================================================================
--- branches/aicom-network-fixes/lib/drivers/ip/transport/datagram/datagram.c [iso-8859-1]
(original)
+++ branches/aicom-network-fixes/lib/drivers/ip/transport/datagram/datagram.c [iso-8859-1]
Wed Nov 19 17:55:57 2008
@@ -16,9 +16,12 @@
{
PLIST_ENTRY ListEntry;
PDATAGRAM_RECEIVE_REQUEST ReceiveRequest;
+ KIRQL OldIrql;
TI_DbgPrint(MAX_TRACE, ("Called (Cancel IRP %08x for file %08x).\n",
Irp, AddrFile));
+
+ KeAcquireSpinLock(&AddrFile->Lock, &OldIrql);
for( ListEntry = AddrFile->ReceiveQueue.Flink;
ListEntry != &AddrFile->ReceiveQueue;
@@ -36,6 +39,8 @@
break;
}
}
+
+ KeReleaseSpinLock(&AddrFile->Lock, OldIrql);
TI_DbgPrint(MAX_TRACE, ("Done.\n"));
}