I have seen realtime signals before but never quite know what the intended use of them would be. They are relegated in my head to the same category as POSIX message queues -- remember for trivia question purposes.
So anyone used real-time signals and why did you pick them instead of something else?
The intended use case is people trying to write realtime systems - that is, systems with a latency guarantee, like antilock brakes or flight control systems - in UNIX.
However, no sensible person would write such a thing in a general-purpose multi-user operating system. Realtime is hard, see the Toyota mess: http://www.viva64.com/en/a/0083/
"Move fast and break things" is not a great motto for automotive control software.
According to POSIX.1b RT signals are used for other features defined in .1b. An excerpt from "POSIX.4 Programmers Guide":
> So far, we've talked about real-time signals sent by the sigqueue function. However, most POSIX.4 signals are sent as a result of three other facilities in POSIX.4. We'll cover these facilities in detail in their own chapters, but for now, you need to know that realtime signals can be generated as a result of expiration of a POSIX.4 timer, completion of asynchronous I/O, and by arrival of a message on an empty message queue.
Linux reserves 2-3 RT signals for use in its threading library:
So anyone used real-time signals and why did you pick them instead of something else?