Ruby  3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
Macros | Functions
thread.h File Reference

(b76ad15ed0da636161de0243c547ee1e6fc95681)

Internal header for Thread. More...

#include "ruby/ruby.h"
#include "ruby/intern.h"
Include dependency graph for thread.h:
This graph shows which files directly or indirectly include this file:

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  )

Definition at line 5799 of file thread.c.

References COVERAGE_TARGET_LINES, GET_VM, Qfalse, rb_ary_tmp_new(), and rb_ary_tmp_new_fill().

◆ rb_get_coverage_mode()

int rb_get_coverage_mode ( void  )

Definition at line 5763 of file thread.c.

References GET_VM.

◆ rb_get_coverages()

VALUE rb_get_coverages ( void  )

Definition at line 5757 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 620 of file thread_sync.c.

References Check_TypedStruct.

◆ rb_mutex_owned_p()

VALUE rb_mutex_owned_p ( VALUE  self)

Definition at line 407 of file thread_sync.c.

References sync_waiter::fiber, and GET_EC.

◆ rb_obj_is_mutex()

VALUE rb_obj_is_mutex ( VALUE  obj)

Definition at line 142 of file thread_sync.c.

References rb_typeddata_is_kind_of(), and RBOOL.

◆ rb_suppress_tracing()

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

Definition at line 425 of file vm_trace.c.

◆ rb_thread_execute_interrupts()

void rb_thread_execute_interrupts ( VALUE  th)

Definition at line 2525 of file thread.c.

References rb_threadptr_execute_interrupts().

◆ rb_thread_io_blocking_region()

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

Definition at line 1818 of file thread.c.

References waiting_fd::fd, GET_EC, and Qundef.

◆ rb_thread_shield_destroy()

VALUE rb_thread_shield_destroy ( VALUE  self)

Definition at line 5112 of file thread.c.

◆ rb_thread_shield_new()

VALUE rb_thread_shield_new ( void  )

Definition at line 5056 of file thread.c.

◆ rb_thread_shield_release()

VALUE rb_thread_shield_release ( VALUE  self)

Definition at line 5101 of file thread.c.

◆ rb_thread_shield_wait()

VALUE rb_thread_shield_wait ( VALUE  self)

Definition at line 5072 of file thread.c.

References GetThreadShieldPtr, and Qfalse.

◆ rb_thread_to_be_killed()

int rb_thread_to_be_killed ( VALUE  thread)

Definition at line 2720 of file thread.c.

◆ rb_thread_wait_for_single_fd()

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

Definition at line 4541 of file thread.c.

References select_args::as, select_args::fd, ptr, RB_WAITFD_IN, and select_args::read.

Referenced by rb_io_wait().

◆ rb_threadptr_execute_interrupts()

int rb_threadptr_execute_interrupts ( struct rb_thread_struct th,
int  blocking_timing 
)

Definition at line 2424 of file thread.c.

◆ rb_uninterruptible()

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

Definition at line 5858 of file thread.c.

References GET_THREAD, rb_cObject, rb_hash_aset(), and rb_ident_hash_new().

◆ ruby_thread_has_gvl_p()

int ruby_thread_has_gvl_p ( void  )