From: Run Paint Run Run Date: 2009-06-01T05:03:04+09:00 Subject: [ruby-core:23649] [Bug #1547] Fiber#alive? Returns 0 for true on 1.9.1 Bug #1547: Fiber#alive? Returns 0 for true on 1.9.1 http://redmine.ruby-lang.org/issues/show/1547 Author: Run Paint Run Run Status: Open, Priority: Normal ruby -v: ruby 1.9.1p154 (2009-05-22 revision 23541) [i686-linux] When a Fiber is alive, Fiber#alive? returns 0 on 1.9.1; true on 1.9.2. The latter behaviour is consistent with the documentation. $ ruby91 -rfiber -ve 'f=Fiber.new {1}; p f.alive?; f.resume; p f.alive?' ruby 1.9.1p154 (2009-05-22 revision 23541) [i686-linux] 0 false $ rubybleed -rfiber -ve 'f=Fiber.new {1}; p f.alive?; f.resume; p f.alive?' ruby 1.9.2dev (2009-05-28 trunk 23601) [i686-linux] true false branches/ruby_1_9_1/cont.c: rb_fiber_alive_p(VALUE fibval) { rb_fiber_t *fib; GetFiberPtr(fibval, fib); return fib->status != TERMINATED; } trunk/cont.c: rb_fiber_alive_p(VALUE fibval) { rb_fiber_t *fib; GetFiberPtr(fibval, fib); return fib->status != TERMINATED ? Qtrue : Qfalse; } ---------------------------------------- http://redmine.ruby-lang.org