Actions
Backport #1547
closedFiber#alive? Returns 0 for true on 1.9.1
Status:
Rejected
Assignee:
Description
=begin
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;
}
=end
Actions
Like0
Like0Like0