Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: Callback multiplexer

by Dallaylaen (Scribe)
on Apr 05, 2013 at 15:28 UTC ( #1027153=note: print w/ replies, xml ) Need Help??


in reply to Re: Callback multiplexer
in thread Callback multiplexer

Yes, using begin/end is a possible solution. For instance, Twiggy is using logic similar to this.

However, I would like to be protected from a callback firing twice. I would also like to untie the application logic from condvar handling - it's much easier to develop modules when they just rely on a running event loop.


Comment on Re^2: Callback multiplexer
Re^3: Callback multiplexer
by Loops (Curate) on Apr 05, 2013 at 17:09 UTC

    There are many possible answers and solutions to address your concerns. And I am new to AnyEvent myself. So could you explain in the example above how the callback could fire twice?

    Notice too that in the example, all of the condvar handling is confined to the parent process. The callback only gets called when the child finishes and returns. All of the application logic exist in child processes and has no knowledge of condvars. This alows you to run code from say CPAN, that was written with no intention of being executed this way. And to my untrained eye, no danger of a callback double fire.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2014-12-27 01:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (176 votes), past polls