Author: cgutman
Date: Sun Jul 19 09:06:08 2009
New Revision: 42076
URL:
http://svn.reactos.org/svn/reactos?rev=42076&view=rev
Log:
- Send all waiting packets instead of only the first one to prevent a buildup of queued
packets on a non-sendable NCE which becomes sendable later
Modified:
trunk/reactos/lib/drivers/ip/network/neighbor.c
Modified: trunk/reactos/lib/drivers/ip/network/neighbor.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/drivers/ip/network/nei…
==============================================================================
--- trunk/reactos/lib/drivers/ip/network/neighbor.c [iso-8859-1] (original)
+++ trunk/reactos/lib/drivers/ip/network/neighbor.c [iso-8859-1] Sun Jul 19 09:06:08 2009
@@ -40,9 +40,9 @@
HashValue &= NB_HASHMASK;
/* Send any waiting packets */
- PacketEntry = ExInterlockedRemoveHeadList(&NCE->PacketQueue,
- &NeighborCache[HashValue].Lock);
- if( PacketEntry != NULL ) {
+ while ((PacketEntry = ExInterlockedRemoveHeadList(&NCE->PacketQueue,
+ &NeighborCache[HashValue].Lock)) !=
NULL)
+ {
Packet = CONTAINING_RECORD( PacketEntry, NEIGHBOR_PACKET, Next );
TI_DbgPrint