From 31774f263aaba95a1b27cf4b6a69f652f231d549 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 7 Jul 2011 22:43:35 +0000 Subject: [PATCH] [AFD] - Signal the event immediately if the select triggers have already been satisfied - This fixes hangs with applications that wait on the select event before performing any socket operations svn path=/trunk/; revision=52562 --- reactos/drivers/network/afd/afd/select.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reactos/drivers/network/afd/afd/select.c b/reactos/drivers/network/afd/afd/select.c index 8cfea3087e5..9841ddf0508 100644 --- a/reactos/drivers/network/afd/afd/select.c +++ b/reactos/drivers/network/afd/afd/select.c @@ -302,6 +302,11 @@ AfdEventSelect( PDEVICE_OBJECT DeviceObject, PIRP Irp, Status = STATUS_SUCCESS; } + if( FCB->EventSelect && (FCB->PollState & FCB->EventSelectTriggers) ) { + AFD_DbgPrint(MID_TRACE,("Setting event %x\n", FCB->EventSelect)); + KeSetEvent( FCB->EventSelect, IO_NETWORK_INCREMENT, FALSE ); + } + AFD_DbgPrint(MID_TRACE,("Returning %x\n", Status)); return UnlockAndMaybeComplete( FCB, Status, Irp,