diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-07 02:45:08 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-11-07 02:45:08 +0000 |
commit | 1e2dcdbd19005e147a754dcd72d1d27dcbeed1ce (patch) | |
tree | 40dc7c4116dac01ea25ed295ec7194e791fc5e7e /proc.c | |
parent | 35da6fdcf1103df9f0dcdd57cb2f913f4c593740 (diff) | |
download | ruby-1e2dcdbd19005e147a754dcd72d1d27dcbeed1ce.tar.gz |
* vm_insnhelper.c (vm_push_frame): add CHECK_STACK_OVERFLOW.
[ruby-dev:39592]
* eval.c (rb_longjmp): add 1 level backtrace for sysstack_error
without calling any method to prevent further stack overflow.
* eval.c (make_exception): don't call #exception for
sysstack_error to prevent stack overflow.
* proc.c (Init_Proc): don't freeze sysstack_error.
* eval.c (rb_longjmp): move reentrant check after exception
preparation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'proc.c')
-rw-r--r-- | proc.c | 1 |
1 files changed, 0 insertions, 1 deletions
@@ -2043,7 +2043,6 @@ Init_Proc(void) sysstack_error = rb_exc_new3(rb_eSysStackError, rb_obj_freeze(rb_str_new2("stack level too deep"))); OBJ_TAINT(sysstack_error); - OBJ_FREEZE(sysstack_error); /* utility functions */ rb_define_global_function("proc", rb_block_proc, 0); |