Things to *not* do in ruby that will break ruby threads. This list isn't complete, but it's things I've noticed while working on stuff: - select with no timeout This will make a blocking select call that will block all other threads. Use Rex::ThreadSafe::select - use sleep This will block all threads. Use Rex::ThreadSafe::select