Re: rt_task_unblock() POSIX alternative

Petr Červenka grugh at
Tue Apr 14 10:16:00 CEST 2020

Hello Richard.
Sorry for late answer because of the Easter.

 > I gave your program a try.
> With this changes it works (at least how I understand your test case).
> Task started
> Set period: 5s
> Task livind: 9.9e-05s
> Waiting for join
> Signal handler: 41
> Signal handler end
> Task livind: 0.999s
> Task ended
> ...
There has to be something with my version of Xenomai, IPIPE or configuration. Not even your example is working for me. Morover in your example output is clearly visible, that the first waiting is interrupted 9.9e-05s after first attempt to wait by some unknown signal. Such thing has never happened to me in POSIX, only in Alchemy.
My output:
Task started
Set period: 5s
Waiting for join
Task livind: 5s
Task livind: 5s
Task livind: 5s
Also here is perhaps a small fix to your changes: sa.sa_flags = SA_SIGINFO;
user at user-desktop:~$ uname -a
Linux user-desktop 4.19.109-xenomai #1 SMP Fri Apr 3 13:51:40 CEST 2020 x86_64 x86_64 x86_64 GNU/Linux
user at user-desktop:~$ /usr/xenomai/bin/xeno-config --verbose
xeno-config --verbose
        --ccld="/usr/xenomai/bin/ gcc"
IPIPE patch: ipipe-core-4.19.109-cip22-x86-11.patch

More information about the Xenomai mailing list