- Don't check Status so we don't quit looping after the first unsuccessful IRP

svn path=/branches/aicom-network-fixes/; revision=35152
This commit is contained in:
Cameron Gutman 2008-08-06 22:19:53 +00:00
parent 8856c4a5a2
commit 5345dbe2ae
2 changed files with 8 additions and 8 deletions

View file

@ -168,11 +168,8 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) {
FCB, FCB->Recv.Content));
/*OskitDumpBuffer( FCB->Recv.Window, FCB->Recv.Content );*/
Status = STATUS_SUCCESS;
/* Try to clear some requests */
while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) &&
NT_SUCCESS(Status) ) {
while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
NextIrpEntry =
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]);
NextIrp =
@ -476,10 +473,14 @@ PacketSocketRecvComplete(
InsertTailList( &FCB->DatagramList, &DatagramRecv->ListEntry );
} else Status = STATUS_NO_MEMORY;
if( !NT_SUCCESS( Status ) ) {
SocketStateUnlock( FCB );
return Status;
}
/* Satisfy as many requests as we can */
while( NT_SUCCESS(Status) &&
!IsListEmpty( &FCB->DatagramList ) &&
while( !IsListEmpty( &FCB->DatagramList ) &&
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
AFD_DbgPrint(MID_TRACE,("Looping trying to satisfy request\n"));
ListEntry = RemoveHeadList( &FCB->DatagramList );

View file

@ -85,8 +85,7 @@ static NTSTATUS NTAPI SendComplete
FCB->Send.BytesUsed -= Irp->IoStatus.Information;
if( !FCB->Send.BytesUsed &&
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_SEND] ) &&
NT_SUCCESS(Status) ) {
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_SEND] ) ) {
NextIrpEntry =
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_SEND]);
NextIrp =