about send in rtems_timer_service_routine
joel.sherrill at OARcorp.com
Mon Apr 21 17:13:42 UTC 2008
Daron Chabot wrote:
> Not having checked send(2) for blocking behavior, this is just a guess:
> The function, rtems_timer_service_routine( ), is called from an
> interrupt context. Code called from an interrupt context *cannot*
> perform operations that may block waiting for resources (i.e. send(2)).
> You could use an rtems_timer_server instead: this server runs in a
> thread context which has no restrictions on the methods invoked from it.
> (see http://www.rtems.com/onlinedocs/releases/rtemsdocs-4.8.0/share/
I wouldn't say no restrictions. While in the timer server,
dispatching is disabled so blocking is definitely not possible.
So a blocking send() wouldn't block, it would continue executing
like it didn't block causing havoc.
There is another oddity. By default, the task runs at priority 0
which is not possible to set from user applications. So changing
the priority temporarily is impossible -- it can't be restored.
Does it seem like the documentation is overstating how safe
this is? If so, then we need to either change the documentation
or change the critical section management here.
> -- dc
> On 20-Apr-08, at 2:16 AM, Ray wrote:
>> Dear powerain ,
>> Maybe you should check this website first
>> here is a mandarin version
>> BTW, it seems to me that rtems_timer_service_routine=void if I read
>> code correct
>> Thanks & Best Regards!
>> Ray, rayx.cn at gmail.com
>> ----- Receiving the following content -----
>> From: powerain
>> Receiver: rtems-users
>> Time: 2008-04-20, 09:25:20
>> Subject: about send in rtems_timer_service_routine
>>> hi everyone,
>>> i send a package in a rtems_timer_service_routine using send
>>> function by a socket.
>>> but is does not work.
>>> who tell me why.
>>> thanks very much.
>>> _____________________ next part ______________________
>>> rtems-users mailing list
>>> rtems-users at rtems.com
>> rtems-users mailing list
>> rtems-users at rtems.com
> rtems-users mailing list
> rtems-users at rtems.com
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users