mirror of
https://github.com/ruby/ruby.git
synced 2025-09-21 03:24:00 +02:00
* 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
This commit is contained in:
parent
c30616378e
commit
60be3dc560
6 changed files with 103 additions and 51 deletions
|
@ -302,6 +302,7 @@ enum ruby_value_type {
|
|||
RUBY_T_UNDEF = 0x1b,
|
||||
RUBY_T_NODE = 0x1c,
|
||||
RUBY_T_ICLASS = 0x1d,
|
||||
RUBY_T_DEFERRED = 0x1e,
|
||||
|
||||
RUBY_T_MASK = 0x1f
|
||||
};
|
||||
|
@ -330,6 +331,7 @@ enum ruby_value_type {
|
|||
#define T_COMPLEX RUBY_T_COMPLEX
|
||||
#define T_UNDEF RUBY_T_UNDEF
|
||||
#define T_NODE RUBY_T_NODE
|
||||
#define T_DEFERRED RUBY_T_DEFERRED
|
||||
#define T_MASK RUBY_T_MASK
|
||||
|
||||
#define BUILTIN_TYPE(x) (((struct RBasic*)(x))->flags & T_MASK)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue