[Xenomai] any extra reasons for -EINTR in xenomai

Henning Schild henning.schild at siemens.com
Fri Mar 3 15:18:38 CET 2017


Hi,

someone came to me asking about reasons why system calls would exit
with -EINTR on a xenomai 2 system. As far as i know there a are two
possible reasons for that to happen.
1. the thread received a signal while being blocked in the call
2. the thread got a rt_task_unblock

Now we are pretty sure that we can rule out both of these cases. It is
a complex system and there might be signals. But none of the
applications signal handlers was called and the application did not
exit, which only leaves very few signals as candidates. Because almost
all default signal handlers will end an application.
And my current assumption would be that default signal handlers
all have SA_RESTART and there would be no -EINTR. Which limits the
possible signals to the ones where a custom handler was installed and
SA_RESTART was not set. But according to the logs no custom handler was
called.

We know it happened while being blocked in rtdm_event_timedwait and the
documentation mentions the two reasons from above.

Am i missing anything important here?

regards,
Henning



More information about the Xenomai mailing list