PtPulseDeliver()
Deliver a pulse to a process
Synopsis:
int PtPulseDeliver( pid_t rcvid,
PtPulseMsg_t const *pulse );
Description:
This function sends a Photon pulse to a process. Before this function can be called by the process that's delivering the pulse, the process that's going to receive it must:
- Create the pulse by calling PtAppCreatePulse().
- Arm it by calling PtPulseArmFd() or PtPulseArmPid(), creating a pulse message.
- Send it (by some method) to the process that's going to deliver the pulse.
The rcvid argument to PtPulseDeliver() is the ID obtained when the pulse deliverer received the pulse message from the pulse recipient. The pulse argument is a pointer to the pulse message created by PtPulseArmFd() or PtPulseArmPid().
![]() |
A non-Photon application can call this function; there's a macro version of it defined in <photon/PtPulseDeliver.h>. If you use it, you won't have to link your application with the Photon libraries. |
Returns:
A nonnegative number, or -1 if an error occurs - errno indicates the type of error detected.
Classification:
Photon
| Safety: | |
|---|---|
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
Caveats:
The version of this function defined in <photon/PtPulseDeliver.h> is a macro.
See also:
PtAppCreatePulse(), PtAppDeletePulse(), PtAppPulseTrigger(), PtChannelCreate(), PtPulseArmFd(), PtPulseArmPid(), PtPulseDisarm()
Interprocess Communication and Lengthy Operations in the Photon Programmer's Guide

