Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
Go to the documentation of this file.
12 monitor_mark(
void *
ptr)
20 monitor_memsize(
const void *
ptr)
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);
VALUE rb_define_class(const char *name, VALUE super)
Defines a top-level class.
#define TypedData_Make_Struct(klass, type, data_type, sval)
VALUE rb_mutex_trylock(VALUE mutex)
VALUE rb_mutex_locked_p(VALUE mutex)
VALUE rb_thread_current(void)
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(ANYARGS), int argc)
VALUE rb_mutex_lock(VALUE mutex)
#define RUBY_TYPED_DEFAULT_FREE
void rb_raise(VALUE exc, const char *fmt,...)
rb_atomic_t cnt[RUBY_NSIG]
VALUE rb_mutex_unlock(VALUE mutex)
#define RB_OBJ_WRITE(a, slot, b)
RUBY_EXTERN VALUE rb_cObject
#define TypedData_Get_Struct(obj, type, data_type, sval)
void rb_bug(const char *fmt,...)
#define RUBY_TYPED_FREE_IMMEDIATELY
void rb_gc_mark(VALUE ptr)
VALUE rb_ensure(VALUE(*b_proc)(VALUE), VALUE data1, VALUE(*e_proc)(VALUE), VALUE data2)
An equivalent to ensure clause.
void rb_define_alloc_func(VALUE, rb_alloc_func_t)
#define RUBY_TYPED_WB_PROTECTED