| Ruby
    3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
    | 
 
 
 
Go to the documentation of this file.
   12 monitor_mark(
void *
ptr)
 
   20 monitor_memsize(
const void *
ptr)
 
   32 monitor_alloc(
VALUE klass)
 
   46 monitor_ptr(
VALUE monitor)
 
   60 monitor_try_enter(
VALUE monitor)
 
   64     if (!mc_owner_p(mc)) {
 
   76 monitor_enter(
VALUE monitor)
 
   79     if (!mc_owner_p(mc)) {
 
   89 monitor_check_owner(
VALUE monitor)
 
   92     if (!mc_owner_p(mc)) {
 
   99 monitor_exit(
VALUE monitor)
 
  101     monitor_check_owner(monitor);
 
  108     if (mc->
count == 0) {
 
  116 monitor_locked_p(
VALUE monitor)
 
  123 monitor_owned_p(
VALUE monitor)
 
  130 monitor_exit_for_cond(
VALUE monitor)
 
  147 monitor_wait_for_cond_body(
VALUE v)
 
  157 monitor_enter_for_cond(
VALUE v)
 
  181                      monitor_enter_for_cond, (
VALUE)&data);
 
  206 #ifdef HAVE_RB_EXT_RACTOR_SAFE 
  
VALUE rb_define_class(const char *name, VALUE super)
Defines a top-level class.
ID rb_intern(const char *)
@ RUBY_TYPED_WB_PROTECTED
#define RUBY_TYPED_DEFAULT_FREE
VALUE rb_mutex_locked_p(VALUE mutex)
#define TypedData_Make_Struct(klass, type, data_type, sval)
@ RUBY_TYPED_FREE_IMMEDIATELY
void rb_raise(VALUE exc, const char *fmt,...)
void rb_define_alloc_func(VALUE, rb_alloc_func_t)
VALUE rb_cObject
Object class.
void rb_ext_ractor_safe(bool flag)
rb_atomic_t cnt[RUBY_NSIG]
#define RB_OBJ_WRITE(a, slot, b)
WB for new reference from ‘a’ to ‘b’.
VALUE rb_mutex_lock(VALUE mutex)
void rb_bug(const char *fmt,...)
VALUE rb_mutex_unlock(VALUE mutex)
VALUE rb_funcall(VALUE, ID, int,...)
Calls a method.
VALUE rb_mutex_trylock(VALUE mutex)
VALUE rb_fiber_current(void)
#define TypedData_Get_Struct(obj, type, data_type, sval)
void rb_gc_mark(VALUE ptr)
#define rb_define_method(klass, mid, func, arity)
Defines klass#mid.
VALUE rb_ensure(VALUE(*b_proc)(VALUE), VALUE data1, VALUE(*e_proc)(VALUE), VALUE data2)
An equivalent to ensure clause.
VALUE rb_yield_values(int n,...)