[Xenomai] syncobj_wait_grant vs. signals

Philippe Gerum rpm at xenomai.org
Tue May 29 09:31:27 CEST 2018

On 05/28/2018 08:51 PM, Jan Kiszka wrote:
> Hi Philippe,
> struggling with an internal implementation on top of copperplate's
> syncobj_wait_grant, I was wondering if that function is supposed to
> return -EINTR on signal interruptions. It's mercury variant will not
> because it used pthread_cond_wait internally. The cobalt version does,
> and now I need to decide where to handle that best.

The only requirement is to have EINTR honored by wait_grant/wait_drain
calls upon syncobj_flush().

The reason the Cobalt side returns EINTR also on Linux signals is due to
cobalt_monitor_wait() not implementing the prologue/epilogue functional
split pthread_cond_wait() exhibits, which allows to filter out EINTR in
order to match the POSIX spec.


More information about the Xenomai mailing list