diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-04 04:22:04 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-04 04:22:04 +0000 |
commit | c5bf9ceef62a5b645f5ec014004f2c716d138a3e (patch) | |
tree | 3b9d56591e73a9ef1249baecec40ead117734964 /vm.c | |
parent | 83e28e5176600760a92b724a405420a79e08b6b4 (diff) |
* vm_core.h (struct rb_vm_struct): replaced signal staff with trap
staff.
* signal.c (signal_buff): per process resouce now.
* signal.c (trap_list): moved to VM.
* signal.c (rb_get_next_signal): reverted.
* signal.c (rb_trap_exit): trap_pending_list was no longer used.
* thread.c (timer_thread_function): delivers buffered per-process
signals to each VMs.
* vm.c (rb_vm_mark): marks trap_list.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -1406,6 +1406,11 @@ rb_vm_mark(void *ptr) } mark_event_hooks(vm->event_hooks); + + for (i = 0; i < RUBY_NSIG; i++) { + if (vm->trap_list[i].cmd) + rb_gc_mark(vm->trap_list[i].cmd); + } } RUBY_MARK_LEAVE("vm"); |