Author: cgutman
Date: Sun Sep 21 09:43:43 2008
New Revision: 36382
URL:
http://svn.reactos.org/svn/reactos?rev=36382&view=rev
Log:
- Merge aicom-network-fixes up to r36381
Modified:
trunk/reactos/drivers/network/afd/afd/connect.c
Modified: trunk/reactos/drivers/network/afd/afd/connect.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/afd/afd/co…
==============================================================================
--- trunk/reactos/drivers/network/afd/afd/connect.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/afd/afd/connect.c [iso-8859-1] Sun Sep 21 09:43:43 2008
@@ -77,12 +77,19 @@
AFD_DbgPrint(MID_TRACE,("Called: FCB %x, FO %x\n",
Context, FCB->FileObject));
+ if( Irp->Cancel ) {
+ if( FCB ) FCB->ConnectIrp.InFlightRequest = NULL;
+ return STATUS_CANCELLED;
+ }
+
/* I was wrong about this before as we can have pending writes to a not
* yet connected socket */
if( !SocketAcquireStateLock( FCB ) ) return STATUS_FILE_CLOSED;
AFD_DbgPrint(MID_TRACE,("Irp->IoStatus.Status = %x\n",
Irp->IoStatus.Status));
+
+ FCB->ConnectIrp.InFlightRequest = NULL;
if( NT_SUCCESS(Irp->IoStatus.Status) ) {
FCB->PollState |= AFD_EVENT_CONNECT | AFD_EVENT_SEND;