[#25936] [Bug:1.9] [rubygems] $LOAD_PATH includes bin directory — Nobuyoshi Nakada <nobu@...>

Hi,

10 messages 2009/10/05

[#25943] Disabling tainting — Tony Arcieri <tony@...>

Would it make sense to have a flag passed to the interpreter on startup that

16 messages 2009/10/05

[#26028] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error — Marc-Andre Lafortune <redmine@...>

Bug #2189: Math.atanh(1) & Math.atanh(-1) should not raise an error

14 messages 2009/10/10

[#26222] [Bug #2250] IO::for_fd() objects' finalization dangerously closes underlying fds — Mike Pomraning <redmine@...>

Bug #2250: IO::for_fd() objects' finalization dangerously closes underlying fds

11 messages 2009/10/22

[#26244] [Bug #2258] Kernel#require inside rb_require() inside rb_protect() inside SysV context fails — Suraj Kurapati <redmine@...>

Bug #2258: Kernel#require inside rb_require() inside rb_protect() inside SysV context fails

24 messages 2009/10/22

[#26361] [Feature #2294] [PATCH] ruby_bind_stack() to embed Ruby in coroutine — Suraj Kurapati <redmine@...>

Feature #2294: [PATCH] ruby_bind_stack() to embed Ruby in coroutine

42 messages 2009/10/27

[#26371] [Bug #2295] segmentation faults — tomer doron <redmine@...>

Bug #2295: segmentation faults

16 messages 2009/10/27

[ruby-core:26323] [Bug #2277] Patch: Fix high CPU usage on Kernel#select

From: Zakaria Haris <redmine@...>
Date: 2009-10-26 13:55:47 UTC
List: ruby-core #26323
Bug #2277: Patch: Fix high CPU usage on Kernel#select
http://redmine.ruby-lang.org/issues/show/2277

Author: Zakaria Haris
Status: Open, Priority: Normal
ruby -v: 1.8.6

This bug brought my server down two times.
While my patch for p111 it still exist in p287.

diff -ru ruby-1.8.6-p111.orig/io.c ruby-1.8.6-p111/io.c
--- ruby-1.8.6-p111.orig/io.c	Tue May 22 23:28:10 2007
+++ ruby-1.8.6-p111/io.c	Sun Aug 30 19:08:09 2009
@@ -4802,12 +4802,12 @@
     if (!pending && n == 0) return Qnil; /* returns nil on timeout */
 
     res = rb_ary_new2(3);
-    rb_ary_push(res, rp?rb_ary_new():rb_ary_new2(0));
+    rb_ary_push(res, (rp||pending)?rb_ary_new():rb_ary_new2(0));
     rb_ary_push(res, wp?rb_ary_new():rb_ary_new2(0));
     rb_ary_push(res, ep?rb_ary_new():rb_ary_new2(0));
 
     if (interrupt_flag == 0) {
-	if (rp) {
+	if (rp || pending) {
 	    list = RARRAY(res)->ptr[0];
 	    for (i=0; i< RARRAY(read)->len; i++) {
 		GetOpenFile(rb_io_get_io(RARRAY(read)->ptr[i]), fptr);


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

In This Thread

Prev Next