X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/bc9e1044fd166db4e75cdc39b2aaa17d942b3ca4..03bcc4db7995b38ecda927e65d7bf2e657477664:/net/net.c diff --git a/net/net.c b/net/net.c index 5d0c75b..e7bb80a 100644 --- a/net/net.c +++ b/net/net.c @@ -30,6 +30,7 @@ void eth_poll() struct pbuf *p; struct eth_hdr *ethhdr; static int ticks = 0; + int i = 15; /* Don't process more than 15 packets at a time; we don't want the host to get TOO badly slowed down... */ if (!_nic) return; @@ -44,7 +45,7 @@ void eth_poll() tcp_tmr(); ticks++; - if ((p = _nic->recv(_nic)) != NULL) + while ((i--) && ((p = _nic->recv(_nic)) != NULL)) { // outputf("NIC: Packet: %d bytes", p->tot_len);