[ECOS] Waiting I/O operation

Alexey Shusharin mrfinch@mail.ru
Mon Jul 23 04:55:00 GMT 2007

Andrew Lunn wrote:
> On Thu, Jul 19, 2007 at 12:53:12PM +0700, Alexey Shusharin wrote:
>> Hello all,
>> My eCos application works with CAN I/O driver and has one thread for 
>> processing CAN messages. I call cyg_io_read() and thread start waiting 
>> incoming message. This situation is clear.
>> However I've decided to add other functionality to the thread therefore it 
>> should wait not only I/O operation (for ex: some event flags). Now I have 
>> these variants:
>> 1. Create a second thread :-(
>> 2. Make non-blocking read with a small time interval :-((
>> 3. Add a callback functionality to CAN I/O driver and wake-up the thread in 
>> callback function then message is coming
> Threads in eCos are light weight. So 1) is the preferred option. 
>         Andrew

Hello Andrew,

Yes, second thread is the fastest solution but I prefer callback anyway. :-)

I think that saving of 2400 bytes of RAM (it's typical stack thread size
on my platform) is cost couple of my work hours (OK, one day with
testing). I've never done so exciting improvements of my code before.

One day and 2400 bytes saving. It's great.

Best regards
Alexey Shusharin

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