On 05/11/2015 09:04 PM, Mann, Anthony M wrote:
> The code below uses POSIX and when compiled for a Linux kernel, it
> works.  When the code is compiled to use the Cobalt real-time kernel, the
> POSIX calls are wrapped (--posix).  Executing the program, the thread,
> timer and semaphore work but the signal from the expired timer (SIGRTMIN)
> is not delivered but is in the queue.  I had tried to unblock all signals
> when the signal was detected in the queue.  That did not work either.
> 
> Also, when compiled for the Linux kernel, sigemptyset with sigsuspend
> causes the main loop to suspend; however, the POSIX wrappped version,
> sigsuspend did not suspend the loop.  Sigprocmask was needed to be call
> first, then it suspended.  Since the SIGTRMIN was not received the main
> goes no further.  However, when pressing ctrl-c, the SIGINT is received
> and calls the kill_handler routine as intented.  Then the main loop
> continues.
> 
> I am new to Xenomai and any suggestions on why the program is not
> receiving the SIGRTMIN signal and how to correct it will be much
> appreciated.

The doc mentioned below may help. Executive summary: asynchronous
delivery of signals is not supported, a thread has to wait for these
explicitly.

http://xenomai.org/migrating-from-xenomai-2-x-to-3-x/#Real-time_signals

-- 
Philippe.

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to