-
Philippe Gerum authored
This patch introduces basic signal support for real-time threads, fully operating from primary mode. Only Xenomai threads can receive signals issued by the Cobalt core. The following restrictions currently apply: - Cobalt-originated signals are always thread-directed. Because Cobalt timer services now raise Cobalt signals, timer notification types shall be SIGEV_THREAD_ID when specified in a valid sigevent structure. - Recipient threads must call sigwait(), sigwaitinfo() or sigtimedwait() explicitly to receive signals. There is no support for asynchronous handling (i.e. SIGEV_SIGNAL). For this reason, we currently don't intercept sigaction(), which still only applies to regular linux signals. The same way, signal masking does not apply to Cobalt-originated signals since threads must wait for signals for receiving them. In addition to POSIX timer services, mq_notify() and pthread_kill() calls have been rebased over the Cobalt signaling mechanism.
7a3f83a2