- Only trigger the close event if the pending receive list is empty

svn path=/trunk/; revision=52775
This commit is contained in:
Cameron Gutman
2011-07-22 04:31:33 +00:00
parent 2e54713de3
commit cb26a7762f
+3 -1
View File
@@ -231,7 +231,9 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) {
FCB->PollStatus[FD_READ_BIT] = STATUS_SUCCESS;
PollReeval( FCB->DeviceExt, FCB->FileObject );
}
else if (CantReadMore(FCB) && !(FCB->PollState & (AFD_EVENT_ABORT | AFD_EVENT_CLOSE)))
else if (CantReadMore(FCB) &&
!(FCB->PollState & (AFD_EVENT_ABORT | AFD_EVENT_CLOSE)) &&
IsListEmpty(&FCB->PendingIrpList[FUNCTION_RECV]))
{
FCB->PollState &= ~AFD_EVENT_RECEIVE;