Skip to content
Browse files

Resolve rt.cpan.org 59925, wherein sig_child() use would increase some

events' latency to at 1sec.  First reported by Getty, then Avar opened
the ticket.  Fixed with Hinrik's copious valuable assistance.
  • Loading branch information...
1 parent d8bf3d4 commit d18f718b0bc090792740160460953ab57492c00b @rcaputo committed Aug 2, 2010
Showing with 4 additions and 1 deletion.
  1. +3 −0 lib/POE/Kernel.pm
  2. +1 −1 lib/POE/Resource/Events.pm
View
3 lib/POE/Kernel.pm
@@ -288,6 +288,9 @@ sub ET_SIGCLD () { 0x1000 } # sig_child() events.
# A mask for all events generated by/for users.
sub ET_MASK_USER () { ~(ET_GC | ET_SCPOLL | ET_STAT) }
+# A mask for all events that are delayed by a dispatch time.
+sub ET_MASK_DELAYED () { ET_ALARM | ET_SCPOLL }
+
# Temporary signal subtypes, used during signal dispatch semantics
# deprecation and reformation.
View
2 lib/POE/Resource/Events.pm
@@ -72,7 +72,7 @@ sub _data_ev_enqueue {
my $new_id;
my $old_head_priority = $self->_data_ev_get_next_due_time();
- if ($type & ET_ALARM) {
+ if ($type & ET_MASK_DELAYED) {
$new_id = $kr_queue->enqueue($time, $event_to_enqueue);
}
else {

0 comments on commit d18f718

Please sign in to comment.
Something went wrong with that request. Please try again.