[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] add a exit condition even for no stop case
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: [PATCH] add a exit condition even for no stop case |
Date: |
Tue, 21 Jan 2014 08:24:19 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.2.0 |
Go ahead for trunk
On 20.01.2014 20:48, Paulo Flabiano Smorigo wrote:
> Hi all,
>
> As I said in the my last email, I'm running tests in a network with
> heavy traffic, like, over 150 arp requests comming every second. Under these
> condition, I found an issue in the receive_packets function.
>
> On line 1456 of net/net.c there is a while (1) that only exits if there
> is a stop condition and more then 10 packages or if there is no package
> received.
>
> If GRUB is idle and enter in this loop, the only condition to leave is
> if it doesn't have incoming packages. In a network with heavy traffic
> (like mine) this never happens.
>
> The result is that GRUB becomes muted and freeze.
>
> I made a small fix that exits this loop if the incoming packages rearch
> a maximum level. I used 100 packages and it seems fine.
>
> ---
> grub-core/net/net.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/grub-core/net/net.c b/grub-core/net/net.c
> index 683ab28..f2e723b 100644
> --- a/grub-core/net/net.c
> +++ b/grub-core/net/net.c
> @@ -1453,7 +1453,7 @@ receive_packets (struct grub_net_card *card, int
> *stop_condition)
> }
> card->opened = 1;
> }
> - while (1)
> + while (received < 100)
> {
> /* Maybe should be better have a fixed number of packets for each card
> and just mark them as used and not used. */
>
signature.asc
Description: OpenPGP digital signature