diff options
Diffstat (limited to 'vm_core.h')
-rw-r--r-- | vm_core.h | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -396,6 +396,8 @@ struct rb_unblock_callback { void *arg; }; +struct rb_mutex_struct; + struct rb_thread_struct { VALUE self; @@ -443,7 +445,7 @@ struct rb_thread_struct rb_thread_lock_t interrupt_lock; struct rb_unblock_callback unblock; VALUE locking_mutex; - VALUE keeping_mutexes; + struct rb_mutex_struct *keeping_mutexes; int transition_for_lock; struct rb_vm_tag *tag; @@ -496,6 +498,15 @@ struct rb_thread_struct int abort_on_exception; }; +struct rb_mutex_struct +{ + rb_thread_lock_t lock; + rb_thread_cond_t cond; + struct rb_thread_struct volatile *th; + volatile int cond_waiting, cond_notified; + struct rb_mutex_struct *next_mutex; +}; + /* iseq.c */ VALUE rb_iseq_new(NODE*, VALUE, VALUE, VALUE, VALUE); VALUE rb_iseq_new_with_bopt(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE); |