develooper Front page | perl.cvs.p5ee | Postings from February 2013

[svn:p5ee] r15568 - p5ee/trunk/App-Context/lib/App/Context/POE

From:
spadkins
Date:
February 1, 2013 16:22
Subject:
[svn:p5ee] r15568 - p5ee/trunk/App-Context/lib/App/Context/POE
Message ID:
20130201162239.543FC184BA3@xx12.develooper.com
Author: spadkins
Date: Fri Feb  1 08:22:37 2013
New Revision: 15568

Modified:
   p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm
   p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm

Log:
Update maintains accuracy in the num_async_event internal counters (both general and node / destination specific) when an event is canceled or aborted.

Modified: p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm
==============================================================================
--- p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm	(original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/ClusterNode.pm	Fri Feb  1 08:22:37 2013
@@ -261,6 +261,7 @@
             }
 
             ### Remove from pending
+            $self->{num_async_events}--;
             delete $self->{running_async_event}{$pid};
             $self->log({level=>3},"poe_cancel_async_event FOUND RUNNING event_token=[$event_token] pid=[$pid]\n");
 

Modified: p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm
==============================================================================
--- p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm	(original)
+++ p5ee/trunk/App-Context/lib/App/Context/POE/Server.pm	Fri Feb  1 08:22:37 2013
@@ -797,7 +797,10 @@
     my $pending_async_events = $self->{pending_async_events};
     my $async_event = $running_async_event->{$runtime_event_token};
     if ($async_event) {
+        my ($event, $callback_event) = @$async_event;
+        my $destination = $event->{destination} || "local";
         $self->{num_async_events}--;
+        $self->{node}{$destination}{num_async_events}--;
         delete $self->{running_async_event}{$runtime_event_token};
         $self->_abort_running_async_event($runtime_event_token, @$async_event);
     }



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About