diff options
Diffstat (limited to 'lib/Thread')
-rw-r--r-- | lib/Thread/Queue/Event.pm | 15 |
1 files changed, 15 insertions, 0 deletions
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)=@_; |