[ECOS] Any problem ?

Gary Thomas gary@mlbassoc.com
Sat Mar 26 18:05:00 GMT 2011


On 03/25/2011 09:40 AM, ratheesh kannoth wrote:
> On Fri, Mar 25, 2011 at 9:07 PM, Gary Thomas<gary@mlbassoc.com>  wrote:
>> How are you connecting to the keyboard?  If you are just using stdin,
>> the default will be the debug/console channel which is not interrupt
>> driven and select can't help you.

Top posting is evil, even if you move my quote :-(

>
> I am new to eCos. Could you please explain a little more.

What file descriptor are you trying to select on and how did you open it?
Unless it's a device which supports interrupts and asynchronous operations,
select won't do a lot for you.

Also, you don't say what behaviour you are seeing, just asking if something
is wrong with this code snippet.  What does it do?  How would you expect it to behave?

>
> -Ratheesh
>> On 03/25/2011 09:27 AM, ratheesh kannoth wrote:
>>>
>>> On Fri, Mar 25, 2011 at 8:54 PM, Gary Thomas<gary@mlbassoc.com>    wrote:
>>>>
>>>> On 03/25/2011 09:17 AM, ratheesh kannoth wrote:
>>>>>
>>>>> Is there any prob with below code segment  in eCos ?
>>>>>
>>>>> {
>>>>>                 fd_set rd_fds;
>>>>>
>>>>>                 FD_ZERO(&rd_fds);
>>>>>
>>>>>                  while (1) {
>>>>>
>>>>>                            timeout.tv_sec = 1;
>>>>>                            timeout.tv_usec = 0;
>>>>>
>>>>>                           if (select(0,&rd_fds, NULL, NULL,&timeout)<
>>>>>   0) {
>>>>>                                        printf("\n  Error \n");
>>>>>                                        sleep(1);
>>>>>                                        continue;
>>>>>                            }
>>>>>
>>>>>                           printf("\n  Success  \n");
>>>>>                   }
>>>>>    }
>>>>>
>>>>
>>>> Yes - the first parameter to select() is the number of open file
>>>> descriptors to check (fd in 0..N-1).  Putting a zero there will
>>>> never yield any activity.
>>>>
>>>> Typically, one puts the max # of open file descriptors or at
>>>> least the highest known open one + 1.
>>
>>> True. But it runs perfectly on  eCos and linux.  I facing some
>>> problem, whenever i hit a key on keyboard in eCos. Is there connection
>>> to this select system call here.
>>
>> How are you connecting to the keyboard?  If you are just using stdin,
>> the default will be the debug/console channel which is not interrupt
>> driven and select can't help you.
>>
>> --
>> ------------------------------------------------------------
>> Gary Thomas                 |  Consulting for the
>> MLB Associates              |    Embedded world
>> ------------------------------------------------------------
>>

-- 
------------------------------------------------------------
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