- 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
This commit is contained in:
Cameron Gutman 2011-07-07 22:43:35 +00:00
parent fff1ab8feb
commit 31774f263a

View file

@ -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,