[ECOS] Re: select doesn't work on stdin?
Gary Thomas
gary@mlbassoc.com
Mon Nov 19 17:56:00 GMT 2012
On 2012-11-19 09:08, Ken Yee wrote:
> Gary Thomas wrote:
>> Have you tried using a serial port (not the diagnostic console)?
>> The problem with the diag port is that it is blocking which does
>> not play nice with select()
>
> Unfortunately, we're out of serial ports on our system. We only have 3. 1 goes to a modem, 1 is used for board-board comms, and the 3rd is the console port which we have shared w/ the diag port (eCos forces you to assign the diag port to a serial port and you can't assign it to /dev/null).
Not exactly true - you can use the serial driver (interrupt driven, etc)
alongside the polled diag driver, at least for output. I've done it
on many occasions and it works just fine.
>
> I can do ioctl w/ the FNONBIO flag to get it to run in non-blocking mode, but it only sees 1 in 18 characters (you hit the same key 17-18 times before one value gets to the read character function)-:
>
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list