[Xenomai] EINTR in notifier.c (mercury)
gilles.chanteperdrix at xenomai.org
Mon Mar 31 13:27:00 CEST 2014
On 03/31/2014 12:34 PM, Matthias Schneider wrote:
> Hi all,
> still working on thread suspension in mercury, I noticed that some
> threadobj_suspend() and threadobj_resume() calls seemed not to have the desired
> effect. Analyzing the issue, I found out that sometimes the read operations on
> the pipe in notifier_wait() seem to return with EINTR, especially in
> heavily loaded systems. Restarting the read system call in that case made
> thread suspension a lot more reliable in my case.
> I have attached a patch adding loops to deal with the EINTR situation in all
You can probably avoid testing for EINTR if all signal handlers are
registered with the SA_RESTART flag.
More information about the Xenomai