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