Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
Macros | Functions
thread.h File Reference

Internal header for Thread. More...

#include "ruby/ruby.h"
#include "ruby/intern.h"

Go to the source code of this file.

Macros

#define COVERAGE_INDEX_LINES   0
 
#define COVERAGE_INDEX_BRANCHES   1
 
#define COVERAGE_TARGET_LINES   1
 
#define COVERAGE_TARGET_BRANCHES   2
 
#define COVERAGE_TARGET_METHODS   4
 
#define COVERAGE_TARGET_ONESHOT_LINES   8
 

Functions

VALUE rb_obj_is_mutex (VALUE obj)
 
VALUE rb_suppress_tracing (VALUE(*func)(VALUE), VALUE arg)
 
void rb_thread_execute_interrupts (VALUE th)
 
VALUE rb_get_coverages (void)
 
int rb_get_coverage_mode (void)
 
VALUE rb_default_coverage (int)
 
VALUE rb_thread_shield_new (void)
 
VALUE rb_thread_shield_wait (VALUE self)
 
VALUE rb_thread_shield_release (VALUE self)
 
VALUE rb_thread_shield_destroy (VALUE self)
 
int rb_thread_to_be_killed (VALUE thread)
 
void rb_mutex_allow_trap (VALUE self, int val)
 
VALUE rb_uninterruptible (VALUE(*b_proc)(VALUE), VALUE data)
 
VALUE rb_mutex_owned_p (VALUE self)
 
int rb_thread_wait_for_single_fd (int fd, int events, struct timeval *timeout)
 
VALUE rb_thread_io_blocking_region (rb_blocking_function_t *func, void *data1, int fd)
 
int ruby_thread_has_gvl_p (void)
 
int rb_threadptr_execute_interrupts (struct rb_thread_struct *th, int blocking_timing)
 

Detailed Description

Internal header for Thread.

Author
Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org

Definition in file thread.h.

Macro Definition Documentation

◆ COVERAGE_INDEX_BRANCHES

#define COVERAGE_INDEX_BRANCHES   1

Definition at line 19 of file thread.h.

◆ COVERAGE_INDEX_LINES

#define COVERAGE_INDEX_LINES   0

Definition at line 18 of file thread.h.

◆ COVERAGE_TARGET_BRANCHES

#define COVERAGE_TARGET_BRANCHES   2

Definition at line 21 of file thread.h.

◆ COVERAGE_TARGET_LINES

#define COVERAGE_TARGET_LINES   1

Definition at line 20 of file thread.h.

◆ COVERAGE_TARGET_METHODS

#define COVERAGE_TARGET_METHODS   4

Definition at line 22 of file thread.h.

◆ COVERAGE_TARGET_ONESHOT_LINES

#define COVERAGE_TARGET_ONESHOT_LINES   8

Definition at line 23 of file thread.h.

Function Documentation

◆ rb_default_coverage()

VALUE rb_default_coverage ( int  n)

◆ rb_get_coverage_mode()

int rb_get_coverage_mode ( void  )

Definition at line 5779 of file thread.c.

Referenced by rb_iseq_new_top().

◆ rb_get_coverages()

VALUE rb_get_coverages ( void  )

Definition at line 5773 of file thread.c.

Referenced by rb_iseq_new_top().

◆ rb_mutex_allow_trap()

void rb_mutex_allow_trap ( VALUE  self,
int  val 
)

Definition at line 621 of file thread_sync.c.

References Check_TypedStruct, FL_SET_RAW, FL_UNSET_RAW, and MUTEX_ALLOW_TRAP.

◆ rb_mutex_owned_p()

VALUE rb_mutex_owned_p ( VALUE  self)

Definition at line 414 of file thread_sync.c.

References sync_waiter::fiber, and sync_waiter::self.

◆ rb_obj_is_mutex()

VALUE rb_obj_is_mutex ( VALUE  obj)

Definition at line 142 of file thread_sync.c.

References Qfalse, Qtrue, and rb_typeddata_is_kind_of().

Referenced by rb_objspace_call_finalizer().

◆ rb_suppress_tracing()

VALUE rb_suppress_tracing ( VALUE(*)(VALUE func,
VALUE  arg 
)

◆ rb_thread_execute_interrupts()

void rb_thread_execute_interrupts ( VALUE  th)

Definition at line 2525 of file thread.c.

References rb_threadptr_execute_interrupts().

Referenced by rb_f_kill().

◆ rb_thread_io_blocking_region()

VALUE rb_thread_io_blocking_region ( rb_blocking_function_t func,
void *  data1,
int  fd 
)

◆ rb_thread_shield_destroy()

VALUE rb_thread_shield_destroy ( VALUE  self)

Definition at line 5128 of file thread.c.

References DATA_PTR, Qfalse, Qtrue, and rb_mutex_unlock().

◆ rb_thread_shield_new()

VALUE rb_thread_shield_new ( void  )

Definition at line 5072 of file thread.c.

References DATA_PTR, and rb_mutex_lock().

◆ rb_thread_shield_release()

VALUE rb_thread_shield_release ( VALUE  self)

Definition at line 5117 of file thread.c.

References Qfalse, Qtrue, and rb_mutex_unlock().

◆ rb_thread_shield_wait()

VALUE rb_thread_shield_wait ( VALUE  self)

◆ rb_thread_to_be_killed()

int rb_thread_to_be_killed ( VALUE  thread)

Definition at line 2720 of file thread.c.

References FALSE, THREAD_KILLED, rb_thread_struct::to_kill, and TRUE.

◆ rb_thread_wait_for_single_fd()

int rb_thread_wait_for_single_fd ( int  fd,
int  events,
struct timeval timeout 
)

◆ rb_threadptr_execute_interrupts()

int rb_threadptr_execute_interrupts ( struct rb_thread_struct th,
int  blocking_timing 
)

◆ rb_uninterruptible()

VALUE rb_uninterruptible ( VALUE(*)(VALUE b_proc,
VALUE  data 
)

◆ ruby_thread_has_gvl_p()

int ruby_thread_has_gvl_p ( void  )

Definition at line 1935 of file thread.c.