Use the right set (the referenced file objects) to compare when killing 
exclusive select objects.  This fixes the select leakage observed when
running Xircon.
Modified: trunk/reactos/drivers/net/afd/afd/select.c

Modified: trunk/reactos/drivers/net/afd/afd/select.c
--- trunk/reactos/drivers/net/afd/afd/select.c	2005-04-11 08:07:41 UTC (rev 14585)
+++ trunk/reactos/drivers/net/afd/afd/select.c	2005-04-11 08:41:58 UTC (rev 14586)
@@ -120,6 +120,7 @@
     PAFD_ACTIVE_POLL Poll;
     PIRP Irp;
     PAFD_POLL_INFO PollReq;
+    PAFD_HANDLE HandleArray;
     int i;
 
     AFD_DbgPrint(MID_TRACE,("Killing selects that refer to %x\n", FileObject));
@@ -132,11 +133,12 @@
 	ListEntry = ListEntry->Flink;
         Irp = Poll->Irp;
         PollReq = Irp->AssociatedIrp.SystemBuffer; 
-        
+        HandleArray = AFD_HANDLES(PollReq);
+
         for( i = 0; i < PollReq->HandleCount; i++ ) {
             AFD_DbgPrint(MAX_TRACE,("Req: %x, This %x\n",
-                                    PollReq->Handles[i].Handle, FileObject));
-            if( (PVOID)PollReq->Handles[i].Handle == FileObject &&
+                                    HandleArray[i].Handle, FileObject));
+            if( (PVOID)HandleArray[i].Handle == FileObject &&
                 (!OnlyExclusive || (OnlyExclusive && Poll->Exclusive)) ) {
                 ZeroEvents( PollReq->Handles, PollReq->HandleCount );
                 SignalSocket( Poll, PollReq, STATUS_SUCCESS );