Thanks for this bug report. A fix has been applied, and a new version of Thread::Queue has been upload to CPAN.
On 2015-10-02 06:51:25, karlroyer@corp.cardboardfish.com wrote:
Show quoted text> If the limit is x and the queue has x items, calling dequeue(x) does not
> signal to blocked threads enque'ing.
>
> The dequeue function needs:-
>
> cond_signal(%$self) if ((@$queue > $count) || $$self{'ENDED'});
>
> changed to:-
>
> cond_signal(%$self) if ((@$queue >= $count) || $$self{'ENDED'});
>
> else things get a little stuck!.