aboutsummaryrefslogtreecommitdiffstats
path: root/vm.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-27 05:59:32 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-27 05:59:32 +0000
commit60be3dc560d1bd61344c328ee6a939ec9cffa537 (patch)
tree5b3e6083f50f309db656bcd26f8697aaecd826a3 /vm.c
parentc30616378e04578a3bfe8650b3c98caf7968b458 (diff)
downloadruby-60be3dc560d1bd61344c328ee6a939ec9cffa537.tar.gz
* include/ruby/ruby.h: add a type T_DEFERRED.
* gc.c: fix deferred finalizer system. finalize processes of T_DATA and T_FILE are executed after gc process. And fix to use BUILTIN_TYPE() instead of seeing flag. * thread.c, vm_core.h: add RUBY_VM_SET_FINALIZER_INTERRUPT() and check intterupt_flag at rb_thread_execute_interrupts(). * thread.c (mutex_mark): fix to mark next_mutex. * vm.c (rb_thread_mark): fix to mark keeping_mutexes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm.c b/vm.c
index 5778cfe42a..5cc4658290 100644
--- a/vm.c
+++ b/vm.c
@@ -1551,6 +1551,7 @@ rb_thread_mark(void *ptr)
RUBY_MARK_UNLESS_NULL(th->last_status);
RUBY_MARK_UNLESS_NULL(th->locking_mutex);
+ RUBY_MARK_UNLESS_NULL(th->keeping_mutexes);
rb_mark_tbl(th->local_storage);