Detect CHILD death in neutrino

Hi,

In QNX 4, by trapping the signal(SIGCHLD,Function), we can detect
in the Function when the child of the process die (using wait() ).

In Neutrino, do we know by the pulse message that the child has died ?
In the structure of the pulse msg, just only the server connection ID was
given
when we lost the connection.

Can we know who died from _PULSE_CODE_COIDDEATH ?

Thanks

Trong Nguyen <tnguyen@aquilamsl.com> wrote:

Hi,

In QNX 4, by trapping the signal(SIGCHLD,Function), we can detect
in the Function when the child of the process die (using wait() ).

For children, you can still do the above under QNX6 as well.

In Neutrino, do we know by the pulse message that the child has died ?

No, you don’t get pulses on child death. You still will get a signal
on child death (SIGCHLD) and can still handle it using wait().

You may choose to have a specific thread in your application to handle
signals, though, to avoid blocking calls getting interrupted.

In the structure of the pulse msg, just only the server connection ID was
given when we lost the connection.

If you have a scoid, ConnectClientInfo() should tell you more details
about the client, including pid.

Can we know who died from _PULSE_CODE_COIDDEATH ?

That would be server death – hopefully you’d match it to a list of
fds/coids to servers. ConnectServerInfo() might give you needed
information, or it might not as the server is already dead – I’m
not sure.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.