Restore cancellation for proper socket shutdown.

svn path=/trunk/; revision=35555
This commit is contained in:
Art Yerkes 2008-08-23 09:49:57 +00:00
parent 0720856576
commit f2bd7ae8a0

View file

@ -155,6 +155,7 @@ AfdCreateSocket(PDEVICE_OBJECT DeviceObject, PIRP Irp,
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 @@ VOID DestroySocket( PAFD_FCB FCB ) {
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);
}
}