From 7e0cb3d7356f47a8473eae7094c4bc135bccebd0 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 1 Sep 2000 07:25:25 +0000 Subject: matz git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index be0303e0a..b485cf8ca 100644 --- a/eval.c +++ b/eval.c @@ -5652,8 +5652,8 @@ Init_eval() if (getrlimit(RLIMIT_STACK, &rlim) == 0) { double space = (double)rlim.rlim_cur*0.2; - if (space > 256*1024) space = 256*1024; - STACK_LEVEL_MAX = (rlim.rlim_cur - space) / 4; + if (space > 1024*1024) space = 1024*1024; + STACK_LEVEL_MAX = (rlim.rlim_cur - space) / sizeof(VALUE); } } #endif @@ -6025,20 +6025,20 @@ proc_call(proc, args) ruby_safe_level = safe; if (state) { - if (orphan) {/* orphan procedure */ - switch (state) { - case TAG_BREAK: - rb_raise(rb_eLocalJumpError, "break from proc-closure"); - break; - case TAG_RETRY: - rb_raise(rb_eLocalJumpError, "retry from proc-closure"); - break; - case TAG_RETURN: + switch (state) { + case TAG_BREAK: + break; + case TAG_RETRY: + rb_raise(rb_eLocalJumpError, "retry from proc-closure"); + break; + case TAG_RETURN: + if (orphan) { /* orphan procedure */ rb_raise(rb_eLocalJumpError, "return from proc-closure"); - break; } + /* fall through */ + default: + JUMP_TAG(state); } - JUMP_TAG(state); } return result; } -- cgit