Schmidt Henning Larsen
Sat Nov 10 15:30:00 GMT 2001
> Schmidt> Can I call isig_sem( ID semid ) in an ISR or DSR ?
> >> See http://sources.redhat.com/ecos/docs-latest/ref/ecos-ref.13.htm
> >> l#pgfId=1080346
> >> You can only call the signal function of a conditional variable
> >> from the DSR. So I guess the answer is no.
> >> Jesper
> Schmidt> But how shall I understand:
> Schmidt> can't I use these functions.
> Only from threads. I believe the normal approach is to create a thread
> that does whatever it is you want to do as part of the interrupt
> handling, and then use condition variables to start it from the DSR.
> I'm pretty sure it's been discussed before on this list. Look in the
In the uITRON spec 3 I've found:
- Performance may be increased by making separate versions of system
calls depending on whether they are issued from task portions or task-
independent portions. In this case, the name of the system call issued
from task-independent portions must be i???_??? when the equivalent
system call issued from task portions is ???_???.
For example, if there is a special version of sig_sem, which returns
semaphore resources, has been provided for execution within an interrupt
handler. The name of this system call would then be isig_sem.
and apparently eCos has the function isig_sem, and according to the uITRON
specification I can use it in an interrupt-handler !! well can I ?.
More information about the Ecos-discuss