summaryrefslogtreecommitdiff
path: root/cont.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-03 17:08:25 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-03 17:08:25 +0000
commita9afb7e5c6c608ba8e996dd5771b1da38ef8a9b3 (patch)
tree6f29fbdbe90ddfee03c606c4ef28fd32d51ec745 /cont.c
parent5098e6f7df107086c5b88196d2dbdd6b9a4e9242 (diff)
* cont.c (rb_fiber_resume): raise an "double resume" error when root
fiber is going to be resumed. [ruby-dev:42523] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'cont.c')
-rw-r--r--cont.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cont.c b/cont.c
index b0b3f41c7d..b0defcaeb7 100644
--- a/cont.c
+++ b/cont.c
@@ -1292,7 +1292,7 @@ rb_fiber_resume(VALUE fibval, int argc, VALUE *argv)
rb_fiber_t *fib;
GetFiberPtr(fibval, fib);
- if (fib->prev != Qnil) {
+ if (fib->prev != Qnil || fib->cont.type == ROOT_FIBER_CONTEXT) {
rb_raise(rb_eFiberError, "double resume");
}