Don't rescue ThreadError in FileThreadPool
Don't rescue ThreadError in FileThreadPool

The previous implementation was blindly catching all ThreadError
exceptions, because that's what `#pop(true)` raises when the queue is
empty. However, there are other situations that would raise the same
class that we definitely shouldn't be silently ignoring.

This changes the code to actually check if the queue is empty before
popping, and removes the rescue entirely: if exceptions happen, we want
to know.

codeclimate/codeclimate-duplication,codeclimate/codeclimate-duplication,codeclimate/codeclimate-duplication,codeclimate/codeclimate-duplication