rapid7/metasploit-framework — pull request #3469 by hmoore-r7 (2014-06-22 20:57:42+00:00)
Title: Fix handler deadlock in corner cases with dead clients

This adds ReverseListenerThreaded to reverse_tcp and disables it by default. It is necessary in situations where a single "dead" client prevents the successful staging of other pending connections.

This also puts the input/output detection code of reverse_double into the connection thread (it already handles all connections as a new thread, but there is a chance of deadlock in the input/output detection).