Backport #2039

Backport 24413, 24416, 24442 to fix IO#select threading issue

Added by dazuma (Daniel Azuma) over 2 years ago. Updated about 1 year ago.

[ruby-core:25339]
Status:Closed Start date:09/04/2009
Priority:High Due date:
Assignee:wyhaines (Kirk Haines) % Done:

100%

Category:-
Target version:-

Description

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.

Related issues

related to Backport87 - Bug #1993: IO.select fails when called in multiple threads on 1.8.7p174 Closed 08/25/2009

Associated revisions

Revision 26435
Added by wyhaines over 2 years ago

Backport #2039 [ruby-core:25339]; backported r24413, r24416, r24442 to fix a problem with IO#select and threads. This is the same issue as Bug #199 3 [ruby-core:25114].

History

Updated by wyhaines (Kirk Haines) over 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r26435.
Daniel, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF