When calling s_broker_purge, always the first worker is checked for expiration. If that one never times out or disconnects, no workers will be purged.
To make sure newer workers can timeout too, we need to move fresh workers to the end of the broker's waiting list. Only if there is more than one worker of course.
Added a Least Recently Used purging queue by moving fresh workers to …
…the end of the broker's waiting list
Thanks for this. Could you replace tabs with spaces? Thanks!
Spaces for tabs