Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Working with callback functions with Perl

by erroneousBollock (Curate)
on Nov 13, 2007 at 08:27 UTC ( [id://650457]=note: print w/replies, xml ) Need Help??


in reply to Working with callback functions with Perl

Hi, I want to know how we can use callback functions within perl for a scenario as follows. I have a parent process with N number of child's.
You don't want callbacks, you want signals.

The parent sleeps for some time and returns back to check whether any child is alive. If it is then it says "Processing" and goes back to sleep.
After you've forked your children, handle the SIGCHLD signal appropriately to be notified when a child process has exited.

If all the children are completed, the parent exits with saying a status of "Completed".
As you handle the signal from each child process, remove its process id from a hash you filled when you forked the processes.

If you need to pass data to/from the processes, you can use one of many mechanisms described in perlipc.

Or you can do all of that with a simple OO interface: Parallel::ForkManager. :-)

I want to know how callback functions can be used for this kind of scenario
You can only really use callbacks in the same process and thread. You can use a construct approximating callbacks under threads.

-David

  • Comment on Re: Working with callback functions with Perl

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://650457]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2024-04-23 21:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found