[Xenomai] EINTR in notifier.c (mercury)

Matthias Schneider ma30002000 at yahoo.de
Mon Mar 31 12:34:45 CEST 2014

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

read and write operations of notifier.c. 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: notifier.c.patch
Type: text/x-patch
Size: 1626 bytes
Desc: not available
URL: <http://www.xenomai.org/pipermail/xenomai/attachments/20140331/afc8f5a6/attachment.bin>

More information about the Xenomai mailing list