From 062351e6bb492d206c305840f4a69c70efcb5131 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 21 May 2003 08:48:05 +0000 Subject: * error.c (syserr_initialize): prohibit specifying errno for subclasses of SystemCallError. in addition, if initialize is called for SystenCallError instance, its class be changed. [ruby-dev:20257] * gc.c (run_final): to protect thread context switch, finalizers are wrapped in DEFER_INTS/ENABLE_INTS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- gc.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gc.c') diff --git a/gc.c b/gc.c index 8a71ece020..8fe85689fa 100644 --- a/gc.c +++ b/gc.c @@ -1522,6 +1522,7 @@ run_final(obj) int status; VALUE args[2], table; + DEFER_INTS; args[1] = rb_ary_new3(1, rb_obj_id(obj)); /* make obj into id */ for (i=0; ilen; i++) { args[0] = RARRAY(finalizers)->ptr[i]; @@ -1533,6 +1534,7 @@ run_final(obj) rb_protect((VALUE(*)_((VALUE)))run_single_final, (VALUE)args, &status); } } + ENABLE_INTS; } void -- cgit v1.2.3