mirror of
https://github.com/reactos/reactos.git
synced 2024-09-15 07:05:04 +00:00
- 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:
parent
8856c4a5a2
commit
5345dbe2ae
|
@ -168,11 +168,8 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) {
|
||||||
FCB, FCB->Recv.Content));
|
FCB, FCB->Recv.Content));
|
||||||
/*OskitDumpBuffer( FCB->Recv.Window, FCB->Recv.Content );*/
|
/*OskitDumpBuffer( FCB->Recv.Window, FCB->Recv.Content );*/
|
||||||
|
|
||||||
Status = STATUS_SUCCESS;
|
|
||||||
|
|
||||||
/* Try to clear some requests */
|
/* Try to clear some requests */
|
||||||
while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) &&
|
while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
|
||||||
NT_SUCCESS(Status) ) {
|
|
||||||
NextIrpEntry =
|
NextIrpEntry =
|
||||||
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]);
|
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]);
|
||||||
NextIrp =
|
NextIrp =
|
||||||
|
@ -476,10 +473,14 @@ PacketSocketRecvComplete(
|
||||||
InsertTailList( &FCB->DatagramList, &DatagramRecv->ListEntry );
|
InsertTailList( &FCB->DatagramList, &DatagramRecv->ListEntry );
|
||||||
} else Status = STATUS_NO_MEMORY;
|
} else Status = STATUS_NO_MEMORY;
|
||||||
|
|
||||||
|
if( !NT_SUCCESS( Status ) ) {
|
||||||
|
SocketStateUnlock( FCB );
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
/* Satisfy as many requests as we can */
|
/* Satisfy as many requests as we can */
|
||||||
|
|
||||||
while( NT_SUCCESS(Status) &&
|
while( !IsListEmpty( &FCB->DatagramList ) &&
|
||||||
!IsListEmpty( &FCB->DatagramList ) &&
|
|
||||||
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
|
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) {
|
||||||
AFD_DbgPrint(MID_TRACE,("Looping trying to satisfy request\n"));
|
AFD_DbgPrint(MID_TRACE,("Looping trying to satisfy request\n"));
|
||||||
ListEntry = RemoveHeadList( &FCB->DatagramList );
|
ListEntry = RemoveHeadList( &FCB->DatagramList );
|
||||||
|
|
|
@ -85,8 +85,7 @@ static NTSTATUS NTAPI SendComplete
|
||||||
FCB->Send.BytesUsed -= Irp->IoStatus.Information;
|
FCB->Send.BytesUsed -= Irp->IoStatus.Information;
|
||||||
|
|
||||||
if( !FCB->Send.BytesUsed &&
|
if( !FCB->Send.BytesUsed &&
|
||||||
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_SEND] ) &&
|
!IsListEmpty( &FCB->PendingIrpList[FUNCTION_SEND] ) ) {
|
||||||
NT_SUCCESS(Status) ) {
|
|
||||||
NextIrpEntry =
|
NextIrpEntry =
|
||||||
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_SEND]);
|
RemoveHeadList(&FCB->PendingIrpList[FUNCTION_SEND]);
|
||||||
NextIrp =
|
NextIrp =
|
||||||
|
|
Loading…
Reference in a new issue