[ros-diffs] [arty] 35555: Restore cancellation for proper socket shutdown.

arty at svn.reactos.org arty at svn.reactos.org
Sat Aug 23 11:49:57 CEST 2008


Author: arty
Date: Sat Aug 23 04:49:57 2008
New Revision: 35555

URL: http://svn.reactos.org/svn/reactos?rev=35555&view=rev
Log:
Restore cancellation for proper socket shutdown.

Modified:
    trunk/reactos/drivers/network/afd/afd/main.c

Modified: trunk/reactos/drivers/network/afd/afd/main.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/afd/afd/main.c?rev=35555&r1=35554&r2=35555&view=diff
==============================================================================
--- trunk/reactos/drivers/network/afd/afd/main.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/afd/afd/main.c [iso-8859-1] Sat Aug 23 04:49:57 2008
@@ -155,6 +155,7 @@
 VOID DestroySocket( PAFD_FCB FCB ) {
     UINT i;
     BOOLEAN ReturnEarly = FALSE;
+    KIRQL Irql = KeGetCurrentIrql();
     PAFD_IN_FLIGHT_REQUEST InFlightRequest[IN_FLIGHT_REQUESTS];
 
     AFD_DbgPrint(MIN_TRACE,("Called (%x)\n", FCB));
@@ -190,7 +191,9 @@
 	if( InFlightRequest[i]->InFlightRequest ) {
 	    AFD_DbgPrint(MID_TRACE,("Cancelling in flight irp %d (%x)\n",
 				    i, InFlightRequest[i]->InFlightRequest));
+	    IoCancelIrp(InFlightRequest[i]->InFlightRequest);
 	    InFlightRequest[i]->InFlightRequest = NULL;
+	    IoReleaseCancelSpinLock(Irql);
 	}
     }
 



More information about the Ros-diffs mailing list