summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cont.c3
-rw-r--r--doc/fiber.rdoc2
-rw-r--r--test/fiber/test_enumerator.rb4
-rw-r--r--test/fiber/test_io.rb8
-rw-r--r--test/fiber/test_mutex.rb4
-rw-r--r--test/fiber/test_scheduler.rb2
-rw-r--r--test/fiber/test_sleep.rb4
7 files changed, 14 insertions, 13 deletions
diff --git a/cont.c b/cont.c
index efff86fe84..d228107b9a 100644
--- a/cont.c
+++ b/cont.c
@@ -2554,7 +2554,8 @@ Init_Cont(void)
rb_define_method(rb_cFiber, "to_s", fiber_to_s, 0);
rb_define_alias(rb_cFiber, "inspect", "to_s");
- rb_define_global_function("Fiber", rb_f_fiber, -1);
+ rb_define_singleton_method(rb_cFiber, "schedule", rb_f_fiber, -1);
+ //rb_define_global_function("Fiber", rb_f_fiber, -1);
#ifdef RB_EXPERIMENTAL_FIBER_POOL
rb_cFiberPool = rb_define_class("Pool", rb_cFiber);
diff --git a/doc/fiber.rdoc b/doc/fiber.rdoc
index 8a107f5c3a..584e67ffca 100644
--- a/doc/fiber.rdoc
+++ b/doc/fiber.rdoc
@@ -101,7 +101,7 @@ context switching points.
We also introduce a new method which simplifies the creation of these
non-blocking fibers:
- Fiber do
+ Fiber.schedule do
puts Fiber.current.blocking? # false
end
diff --git a/test/fiber/test_enumerator.rb b/test/fiber/test_enumerator.rb
index f88657cdc4..7cd13d7c77 100644
--- a/test/fiber/test_enumerator.rb
+++ b/test/fiber/test_enumerator.rb
@@ -24,12 +24,12 @@ class TestFiberEnumerator < Test::Unit::TestCase
e = i.to_enum(:each_char)
- Fiber do
+ Fiber.schedule do
o.write("Hello World")
o.close
end
- Fiber do
+ Fiber.schedule do
begin
while c = e.next
message << c
diff --git a/test/fiber/test_io.rb b/test/fiber/test_io.rb
index c23f67edaa..19f68eb8c3 100644
--- a/test/fiber/test_io.rb
+++ b/test/fiber/test_io.rb
@@ -22,12 +22,12 @@ class TestFiberIO < Test::Unit::TestCase
scheduler = Scheduler.new
Thread.current.scheduler = scheduler
- Fiber do
+ Fiber.schedule do
message = i.read(20)
i.close
end
- Fiber do
+ Fiber.schedule do
o.write("Hello World")
o.close
end
@@ -50,12 +50,12 @@ class TestFiberIO < Test::Unit::TestCase
scheduler = Scheduler.new
Thread.current.scheduler = scheduler
- Fiber do
+ Fiber.schedule do
i.read(20)
i.close
end
- Fiber do
+ Fiber.schedule do
o.write("Hello World")
o.close
end
diff --git a/test/fiber/test_mutex.rb b/test/fiber/test_mutex.rb
index c4e671f6d9..5179959a6a 100644
--- a/test/fiber/test_mutex.rb
+++ b/test/fiber/test_mutex.rb
@@ -10,7 +10,7 @@ class TestFiberMutex < Test::Unit::TestCase
scheduler = Scheduler.new
Thread.current.scheduler = scheduler
- Fiber do
+ Fiber.schedule do
assert_equal Thread.scheduler, scheduler
mutex.synchronize do
@@ -29,7 +29,7 @@ class TestFiberMutex < Test::Unit::TestCase
scheduler = Scheduler.new
Thread.current.scheduler = scheduler
- Fiber do
+ Fiber.schedule do
assert_equal Thread.scheduler, scheduler
mutex.synchronize do
diff --git a/test/fiber/test_scheduler.rb b/test/fiber/test_scheduler.rb
index 5055a95999..7acf63d9b8 100644
--- a/test/fiber/test_scheduler.rb
+++ b/test/fiber/test_scheduler.rb
@@ -6,7 +6,7 @@ class TestFiberScheduler < Test::Unit::TestCase
def test_fiber_without_scheduler
# Cannot create fiber without scheduler.
assert_raise RuntimeError do
- Fiber do
+ Fiber.schedule do
end
end
end
diff --git a/test/fiber/test_sleep.rb b/test/fiber/test_sleep.rb
index f1d9f79fc8..a15f2f2bcd 100644
--- a/test/fiber/test_sleep.rb
+++ b/test/fiber/test_sleep.rb
@@ -13,7 +13,7 @@ class TestFiberSleep < Test::Unit::TestCase
Thread.current.scheduler = scheduler
5.times do |i|
- Fiber do
+ Fiber.schedule do
assert_operator sleep(i/100.0), :>=, 0
items << i
end
@@ -34,7 +34,7 @@ class TestFiberSleep < Test::Unit::TestCase
thread = Thread.new do
scheduler = Scheduler.new
Thread.current.scheduler = scheduler
- Fiber do
+ Fiber.schedule do
seconds = sleep(2)
end
end