I find it kind of difficult to reproduce that type of scenario described in the first comment, so I don't know how to verify even if I have a "fix".

I don't know why the first thread is special, either. It's based on scanner.rb and I asked egypt if that's the code I should borrow, he replied yes. 

>You really should have the child threads communicate completeness to the parent by using a thread-safe Queue at the end of the child block after check_simple returns.

Do you have a code example for this? You talk like I actually know stuff about threading.