From 0faea820a3fcc6d6a004332f7d2b97fd800a55cb Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 6 Aug 2009 15:06:05 +0200 Subject: dequeue_nb but untested --- lib/Thread/Queue/Event.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/Thread/Queue/Event.pm b/lib/Thread/Queue/Event.pm index 3d82c4d..1bb3a4e 100644 --- a/lib/Thread/Queue/Event.pm +++ b/lib/Thread/Queue/Event.pm @@ -57,6 +57,21 @@ after enqueue => \&_pipe_write; before dequeue => \&_pipe_read; +## TODO test this +around dequeue_nb => sub { + my ($dequeue_nb,$self,@params)=@_; + + my $pre=$self->pending; + + my @res=$dequeue_nb->($self,@params); + + my $post=$self->pending; + + $self->_pipe_read for 1..($post-$pre); + + return @res; +}; + sub signal { my ($self)=@_; -- cgit v1.2.3