Project

General

Profile

Actions

Backport #1547

closed

Fiber#alive? Returns 0 for true on 1.9.1

Added by runpaint (Run Paint Run Run) almost 15 years ago. Updated almost 13 years ago.

Status:
Rejected
[ruby-core:23649]

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

Also available in: Atom PDF

Like0
Like0Like0