summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-13 06:04:25 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-13 06:04:25 +0000
commitad278cc0f126e987a458a2f7d6f72636b95d9e3a (patch)
tree1bf62c0b4a2ddcf40fd9300c0e0922f036b2dad5
parent607b1cc037f11141d2da2cacc45e87e37288dfed (diff)
downloadruby-ad278cc0f126e987a458a2f7d6f72636b95d9e3a.tar.gz
ruby-ad278cc0f126e987a458a2f7d6f72636b95d9e3a.tar.xz
ruby-ad278cc0f126e987a458a2f7d6f72636b95d9e3a.zip
* cont.c (rb_fiber_alive_p): fix to return true instead of 1.
[ruby-dev:37991] * test/ruby/test_fiber.rb: add a test for Fiber#alive? git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--cont.c2
-rw-r--r--test/ruby/test_fiber.rb9
3 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8bec936b1..e296dea3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Feb 13 15:01:40 2009 Koichi Sasada <ko1@atdot.net>
+
+ * cont.c (rb_fiber_alive_p): fix to return true instead of 1.
+ [ruby-dev:37991]
+
+ * test/ruby/test_fiber.rb: add a test for Fiber#alive?
+
Fri Feb 13 09:43:19 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (ac_cv_func_flock): using flock defined in
diff --git a/cont.c b/cont.c
index 7d1392e7d..43237560c 100644
--- a/cont.c
+++ b/cont.c
@@ -933,7 +933,7 @@ rb_fiber_alive_p(VALUE fibval)
{
rb_fiber_t *fib;
GetFiberPtr(fibval, fib);
- return fib->status != TERMINATED;
+ return fib->status != TERMINATED ? Qtrue : Qfalse;
}
/*
diff --git a/test/ruby/test_fiber.rb b/test/ruby/test_fiber.rb
index bf56b2b6d..536d358dd 100644
--- a/test/ruby/test_fiber.rb
+++ b/test/ruby/test_fiber.rb
@@ -164,5 +164,14 @@ class TestFiber < Test::Unit::TestCase
assert_equal(nil, Thread.current[:v]); fb.resume
assert_equal(nil, Thread.current[:v]);
end
+
+ def test_alive
+ fib = Fiber.new{Fiber.yield}
+ assert_equal(true, fib.alive?)
+ fib.resume
+ assert_equal(true, fib.alive?)
+ fib.resume
+ assert_equal(false, fib.alive?)
+ end
end