Interrupt service routines
QNX 4's interrupt service routines had the ability to either return a proxy ID (indicating that the proxy should be sent to its owner) or a zero, indicating nothing further needed to be done. Under QNX Neutrino, this mechanism is almost identical, except that instead of returning a proxy, you're returning a pointer to a struct sigevent. The event that you return can be a pulse, which will give you the closest analog to a proxy, or it can be a signal or the creation of a thread. Your choice.