[Xenomai] EINTR in notifier.c (mercury)

Gilles Chanteperdrix 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.

-- 
                                                                Gilles.




More information about the Xenomai mailing list