[ros-diffs] [cgutman] 42076: - 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

cgutman at svn.reactos.org cgutman at svn.reactos.org
Sun Jul 19 09:06:08 CEST 2009


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/neighbor.c?rev=42076&r1=42075&r2=42076&view=diff
==============================================================================
--- 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



More information about the Ros-diffs mailing list