Something I've been doing quite a bit recently:
,----
| sub query
| {
| my $done = $_[0];
| my ($hndlr, $sk, $path);
|
| $sk = CaMgmt::CfgListener->new(SK);
|
| $hndlr = $muxer->add('hnet_reply', $sk, EPOLLIN,
| sub {
| $hndlr = undef;
| handle_hnet_reply($sk, $done);
| });
`----
The return value of this method is an object whose destructor will
deregister the event handler. The passed subroutine will be invoked to
handle the event. As it references $hndlr, the event will stay
registered until the even handling routine clears it[*], ie, due to the circular reference, it's entirely self-sufficient wrt its lifecycle-management.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 86:40:35 |
Calls: | 6,658 |
Files: | 12,203 |
Messages: | 5,333,788 |