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,...)