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")); }