Detect CHILD death in neutrino

bridged with qdn.public.qnxrtp.os
Post Reply
Trong Nguyen

Detect CHILD death in neutrino

Post by Trong Nguyen » Thu Jan 08, 2004 3:25 pm

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

David Gibbs

Re: Detect CHILD death in neutrino

Post by David Gibbs » Thu Jan 08, 2004 5:29 pm

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.

Post Reply

Return to “qdn.public.qnxrtp.os”