From ea42af056876faa8d5ba6e201351be4758cb495b Mon Sep 17 00:00:00 2001 From: gbeauche <> Date: Thu, 30 Jun 2005 06:38:09 +0000 Subject: [PATCH] Consume the packet even if we could not allocate a message block for it in the Ethernet interrupt. The BeOS version does that, likewise for MOL. Otherwise, we end up into an infinite loop reporting the memory allocation failure. I think this is now the expected behavior as we wouldn't have stats (num_rx_no_mem) for it if we couldn't get out of the EtherIRQ. ;-) Besides, the packet will be resent for reliable networks. --- SheepShaver/src/Unix/Linux/ether_linux.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/SheepShaver/src/Unix/Linux/ether_linux.cpp b/SheepShaver/src/Unix/Linux/ether_linux.cpp index 8cc9f157..85c5c19d 100644 --- a/SheepShaver/src/Unix/Linux/ether_linux.cpp +++ b/SheepShaver/src/Unix/Linux/ether_linux.cpp @@ -497,6 +497,7 @@ void EtherIRQ(void) ether_packet_received(mp); } else { D(bug("WARNING: Cannot allocate mblk for received packet\n")); + read(fd, packet, size); // consume this packet num_rx_no_mem++; } }