To send a pulse when the timer fires, set the sigev_notify field to SIGEV_PULSE and provide some extra information:
Field | Value and meaning |
---|---|
sigev_coid | Send the pulse to the channel associated with this connection ID. |
sigev_value | A 32-bit value that gets sent to the connection identified in the sigev_coid field. |
sigev_code | An 8-bit value that gets sent to the connection identified in the sigev_coid field. |
sigev_priority | The pulse's delivery priority. The value zero is not allowed (too many people were getting bitten by running at priority zero when they got a pulse—priority zero is what the idle task runs at, so effectively they were competing with QNX Neutrino's IDLE process and not getting much CPU time :-)). |
Note that the sigev_coid could be a connection to any channel (usually, though not necessarily, the channel associated with the process that's initiating the event).