Hi Wolfgang,

On 6 June 2014 16:10, Wolfgang Denk <w...@denx.de> wrote:
> Dear Simon,
>
> In message 
> <CAPnjgZ15jrh=-tej-0tfjwbszyq+0bihkjlejg3d43wqoow...@mail.gmail.com> you 
> wrote:
>>
>> > If this happens, I consider it a bug that should be fixed, and not
>> > papered over.
>>
>> If you look at the code for the 'md' command it calls ctrlc() every
>> now and then. Each call results in a getc() which reads a character
>> from the console. So we lose characters.
>
> Well, as I mentioned: it looks like a bug that needs fixing.
>
>> > I dislike this idea. It looks wrong to me.  Can we not fix the problem
>> > at the root cause?
>>
>> I certainly thought about this. I even though maybe we might change
>> the serial module to scan ahead and buffer characters, in case there
>> is a Ctrl-C in the future. But that itself seems like something for
>> the future.
>
> well, I see two sides of this:
>
> 1) Looking at sandbox only, we should provide an implementation of
>    ctrlc() that does not consume characters from stdin - I thinkwe
>    should rather be able to react on signals?

Currently there is no signal handling, but we set up the terminal so
that Cltr-C terminates U-Boot (default) or does not (and it appears as
a character in the input). It's probably a bit more complicated but it
should be doable. We can probably just ignore Cltl-C on sandbox for
now.

>
> 2) With a general point of view, consuming characters for no good is
>    always wrong and needs to be fixed.

I'm not sure if you recall the serial driver buffer patch I sent for
ns16550 which corrected this problem and also dealt with serial input
overflow while outputting to the LCD. We might consider resurrecting
this and doing it at a higher level. Without buffering I don't see any
way to fix this.

Regards,
Simon
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to