Subject: | Patches to update tracing |
These patches improve alarm TRACE output. POE currently outputs
TRACE_EVENT messages when an alarm is created, but not when it is
adjusted or removed.
These patches add TRACE output to delay_adjust and alarm_remove (by
id).
Subject: | kernel.diff |
Index: poe-svn/lib/POE/Kernel.pm
===================================================================
--- poe-svn/lib/POE/Kernel.pm (revision 2248)
+++ poe-svn/lib/POE/Kernel.pm (working copy)
@@ -2016,6 +2016,13 @@
my $my_delay = sub {
$_[0]->[EV_SESSION] == $kr_active_session;
};
+
+ if (TRACE_EVENTS) {
+ _warn(
+ "<ev> adjusted event $alarm_id by $seconds seconds",
+ );
+ }
+
return $kr_queue->set_priority($alarm_id, $my_delay, time() + $seconds);
}
Subject: | events.diff |
Index: poe-svn/lib/POE/Resource/Events.pm
===================================================================
--- poe-svn/lib/POE/Resource/Events.pm (revision 2248)
+++ poe-svn/lib/POE/Resource/Events.pm (working copy)
@@ -162,6 +162,14 @@
my ($time, $id, $event) = $kr_queue->remove_item($alarm_id, $my_alarm);
return unless defined $time;
+ if (TRACE_EVENTS) {
+ _warn(
+ "<ev> removed event $id ``", $event->[EV_NAME],
+ "'' to ", $self->_data_alias_loggable($session),
+ " at $time"
+ );
+ }
+
$self->_data_ev_refcount_dec( @$event[EV_SOURCE, EV_SESSION] );
return ($time, $event);
}