SPUG: Forked Children talking back to the parent?
dancerboy
dancerboy at strangelight.com
Wed Jan 17 13:39:56 CST 2001
At 8:28 AM -0800 1/17/01, Richard Wood wrote:
>John,
>
>I do something very similar to this, and I still have
>a dilemma with it. What I do is to find out how many
>processes I need to fork, then I set up bidirectional
>socket-pairs to use between the parent and children,
>then I fork the children. The parent then goes into a
>loop of sending messages to every child followed by a
>loop of waiting for a response from every child prior
>to going on to the next message. The parent is in an
>outer loop of looking for and processing scripts which
>may or may not have commands for every child process.
>If a child process is not supposed to receive a
>command, I just send it a DUMMY command which it echos
>back.
>
>The children are in a loop waiting for messages from
>the parent upon which they take action and report back
>to the parent.
>
>The part I haven't worked out is what to do if a child
>hangs. Hopefully, other responses to your email will
>give me some ideas on that.
One thought: instead of sitting in a loop waiting for messages from
the children, what if the children send a signal ( via kill() ) to
let the parent know that the child has data for it?
I assume you're aware of the use of $SIG{__ALARM__} to time-out
operations that would otherwise block?
-jason
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest
Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
More information about the spug-list
mailing list