Backport #2039: Backport 24413, 24416, 24442 to fix IO#select threading issue
http://redmine.ruby-lang.org/issues/show/2039

Author: Daniel Azuma
Status: Open, Priority: High
Assigned to: Kirk Haines

See http://redmine.ruby-lang.org/issues/show/1993 in the 1.8.7 project.

Basically, there was a bug introduced between 1.8.6p287 and 1.8.6p368 which sometimes caused IO#select calls to erroneously return no results when multiple calls are in progress on different threads. It was affecting 1.8.7 as well, having been introduced into that branch between 1.8.7p72 and 1.8.7p160. It has since been corrected on the 1.8 head.

This has been affecting a great many Capistrano users on 1.8.6p368 and later patchlevels, as well as recent patchlevels of 1.8.7. (See http://capistrano.lighthouseapp.com/projects/8716/tickets/79 as well as http://net-ssh.lighthouseapp.com/projects/36253/tickets/1). We'd appreciate it if the fix on the 1.8 head could get backported to the release branches.


----------------------------------------
http://redmine.ruby-lang.org