Read: Change AFD_EVENT_CLOSE to AFD_EVENT_DISCONNECT when the other end
hangs up. The socket isn't closed yet.
Listen: Turn off fired flag for AFD_EVENT_ACCEPT.
Modified: trunk/reactos/drivers/net/afd/afd/listen.c
Modified: trunk/reactos/drivers/net/afd/afd/read.c
_____
Modified: trunk/reactos/drivers/net/afd/afd/listen.c
--- trunk/reactos/drivers/net/afd/afd/listen.c 2005-02-05 04:56:04 UTC
(rev 13415)
+++ trunk/reactos/drivers/net/afd/afd/listen.c 2005-02-05 05:40:35 UTC
(rev 13416)
@@ -242,6 +242,8 @@
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp, TRUE
);
+ FCB->EventsFired &= ~AFD_EVENT_ACCEPT;
+
if( FCB->NeedsNewListen ) {
AFD_DbgPrint(MID_TRACE,("ADDRESSFILE: %x\n",
FCB->AddressFile.Handle));
_____
Modified: trunk/reactos/drivers/net/afd/afd/read.c
--- trunk/reactos/drivers/net/afd/afd/read.c 2005-02-05 04:56:04 UTC
(rev 13415)
+++ trunk/reactos/drivers/net/afd/afd/read.c 2005-02-05 05:40:35 UTC
(rev 13416)
@@ -131,7 +131,7 @@
}
/* Handle closing signal */
- FCB->PollState |= AFD_EVENT_CLOSE;
+ FCB->PollState |= AFD_EVENT_DISCONNECT;
PollReeval( FCB->DeviceExt, FCB->FileObject );
}