Lines Matching refs:queue
19 my @queue :shared = map { shared_clone($_) } @_;
20 my %self :shared = ( 'queue' => \@queue );
36 my $queue = $$self{'queue'};
37 cond_wait(%$self) while ($$self{'LIMIT'} && (@$queue >= $$self{'LIMIT'}));
40 push(@$queue, map { shared_clone($_) } @_)
77 my $queue = $$self{'queue'};
82 cond_wait(%$self) while ((@$queue < $count) && ! $$self{'ENDED'});
89 my $item = shift(@$queue);
96 push(@items, shift(@$queue)) for (1..$count);
106 my $queue = $$self{'queue'};
112 my $item = shift(@$queue);
120 last if (! @$queue);
121 push(@items, shift(@$queue));
132 my $queue = $$self{'queue'};
144 while ((@$queue < $count) && ! $$self{'ENDED'}) {
172 my $queue = $$self{'queue'};
180 $index += @$queue;
188 while (@$queue > $index) {
189 unshift(@tmp, pop(@$queue))
193 push(@$queue, map { shared_clone($_) } @_);
196 push(@$queue, @tmp);
206 my $queue = $$self{'queue'};
213 $index += @$queue;
223 while (@$queue > ($index+$count)) {
224 unshift(@tmp, pop(@$queue))
229 unshift(@items, pop(@$queue)) while (@$queue > $index);
232 push(@$queue, @tmp);