ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/MP.pm
(Generate patch)

Comparing AnyEvent-MP/MP.pm (file contents):
Revision 1.39 by root, Fri Aug 7 23:21:48 2009 UTC vs.
Revision 1.41 by root, Sat Aug 8 21:56:29 2009 UTC

546sub mon { 546sub mon {
547 my ($noderef, $port) = split /#/, shift, 2; 547 my ($noderef, $port) = split /#/, shift, 2;
548 548
549 my $node = $NODE{$noderef} || add_node $noderef; 549 my $node = $NODE{$noderef} || add_node $noderef;
550 550
551 my $cb = @_ ? $_[0] : $SELF || Carp::croak 'mon: called with one argument only, but $SELF not set,'; 551 my $cb = @_ ? shift : $SELF || Carp::croak 'mon: called with one argument only, but $SELF not set,';
552 552
553 unless (ref $cb) { 553 unless (ref $cb) {
554 if (@_) { 554 if (@_) {
555 # send a kill info message 555 # send a kill info message
556 my (@msg) = @_; 556 my (@msg) = ($cb, @_);
557 $cb = sub { snd @msg, @_ }; 557 $cb = sub { snd @msg, @_ };
558 } else { 558 } else {
559 # simply kill other port 559 # simply kill other port
560 my $port = $cb; 560 my $port = $cb;
561 $cb = sub { kil $port, @_ if @_ }; 561 $cb = sub { kil $port, @_ if @_ };
620The port ID of the newly created port is return immediately, and it is 620The port ID of the newly created port is return immediately, and it is
621permissible to immediately start sending messages or monitor the port. 621permissible to immediately start sending messages or monitor the port.
622 622
623After the port has been created, the init function is 623After the port has been created, the init function is
624called. This function must be a fully-qualified function name 624called. This function must be a fully-qualified function name
625(e.g. C<MyApp::Chat::Server::init>). 625(e.g. C<MyApp::Chat::Server::init>). To specify a function in the main
626program, use C<::name>.
626 627
627If the function doesn't exist, then the node tries to C<require> 628If the function doesn't exist, then the node tries to C<require>
628the package, then the package above the package and so on (e.g. 629the package, then the package above the package and so on (e.g.
629C<MyApp::Chat::Server>, C<MyApp::Chat>, C<MyApp>) until the function 630C<MyApp::Chat::Server>, C<MyApp::Chat>, C<MyApp>) until the function
630exists or it runs out of package names. 631exists or it runs out of package names.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines