Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
Public Types | Public Member Functions | Data Fields
rb_thread_struct Struct Reference

#include <vm_core.h>

Public Types

enum  thread_invoke_type { thread_invoke_type_none = 0 , thread_invoke_type_proc , thread_invoke_type_ractor_proc , thread_invoke_type_func }
 

Public Member Functions

 BITFIELD (enum rb_thread_status, status, 2)
 

Data Fields

struct list_node lt_node
 
VALUE self
 
rb_ractor_tractor
 
rb_vm_tvm
 
rb_execution_context_tec
 
VALUE last_status
 
struct rb_calling_infocalling
 
VALUE top_self
 
VALUE top_wrapper
 
rb_nativethread_id_t thread_id
 
unsigned int to_kill: 1
 
unsigned int abort_on_exception: 1
 
unsigned int report_on_exception: 1
 
unsigned int pending_interrupt_queue_checked: 1
 
int8_t priority
 
uint32_t running_time_us
 
native_thread_data_t native_thread_data
 
void * blocking_region_buffer
 
VALUE thgroup
 
VALUE value
 
VALUE pending_interrupt_queue
 
VALUE pending_interrupt_mask_stack
 
rb_nativethread_lock_t interrupt_lock
 
struct rb_unblock_callback unblock
 
VALUE locking_mutex
 
struct rb_mutex_structkeeping_mutexes
 
struct rb_waiting_listjoin_list
 
union {
   struct {
      VALUE   proc
 
      VALUE   args
 
      int   kw_splat
 
   }   proc
 
   struct {
      VALUE(*   func )(void *)
 
      void *   arg
 
   }   func
 
invoke_arg
 
enum rb_thread_struct::thread_invoke_type invoke_type
 
VALUE stat_insn_usage
 
rb_fiber_troot_fiber
 
rb_jmpbuf_t root_jmpbuf
 
VALUE scheduler
 
unsigned blocking
 
VALUE name
 
struct rb_ext_config ext_config
 

Detailed Description

Definition at line 935 of file vm_core.h.

Member Enumeration Documentation

◆ thread_invoke_type

Enumerator
thread_invoke_type_none 
thread_invoke_type_proc 
thread_invoke_type_ractor_proc 
thread_invoke_type_func 

Definition at line 1001 of file vm_core.h.

Member Function Documentation

◆ BITFIELD()

rb_thread_struct::BITFIELD ( enum  rb_thread_status,
status  ,
 
)

Field Documentation

◆ abort_on_exception

unsigned int rb_thread_struct::abort_on_exception

Definition at line 960 of file vm_core.h.

◆ arg

void* rb_thread_struct::arg

Definition at line 997 of file vm_core.h.

◆ args

VALUE rb_thread_struct::args

Definition at line 992 of file vm_core.h.

◆ blocking

unsigned rb_thread_struct::blocking

Definition at line 1016 of file vm_core.h.

Referenced by rb_fiber_start().

◆ blocking_region_buffer

void* rb_thread_struct::blocking_region_buffer

Definition at line 967 of file vm_core.h.

Referenced by rb_thread_call_with_gvl(), and ruby_thread_has_gvl_p().

◆ calling

struct rb_calling_info* rb_thread_struct::calling

Definition at line 946 of file vm_core.h.

◆ ec

rb_execution_context_t* rb_thread_struct::ec

◆ ext_config

struct rb_ext_config rb_thread_struct::ext_config

Definition at line 1021 of file vm_core.h.

◆ func [1/2]

VALUE(* rb_thread_struct::func) (void *)

Definition at line 996 of file vm_core.h.

◆  [2/2]

struct { ... } rb_thread_struct::func

◆ interrupt_lock

rb_nativethread_lock_t rb_thread_struct::interrupt_lock

Definition at line 982 of file vm_core.h.

Referenced by Init_Thread_Mutex().

◆ 

union { ... } rb_thread_struct::invoke_arg

◆ invoke_type

enum rb_thread_struct::thread_invoke_type rb_thread_struct::invoke_type

◆ join_list

struct rb_waiting_list* rb_thread_struct::join_list

Definition at line 987 of file vm_core.h.

◆ keeping_mutexes

struct rb_mutex_struct* rb_thread_struct::keeping_mutexes

Definition at line 985 of file vm_core.h.

Referenced by rb_threadptr_unlock_all_locking_mutexes().

◆ kw_splat

int rb_thread_struct::kw_splat

Definition at line 993 of file vm_core.h.

◆ last_status

VALUE rb_thread_struct::last_status

Definition at line 943 of file vm_core.h.

◆ locking_mutex

VALUE rb_thread_struct::locking_mutex

Definition at line 984 of file vm_core.h.

◆ lt_node

struct list_node rb_thread_struct::lt_node

Definition at line 936 of file vm_core.h.

Referenced by rb_ractor_living_threads_insert(), and rb_ractor_living_threads_remove().

◆ name

VALUE rb_thread_struct::name

Definition at line 1019 of file vm_core.h.

◆ native_thread_data

native_thread_data_t rb_thread_struct::native_thread_data

Definition at line 966 of file vm_core.h.

◆ pending_interrupt_mask_stack

VALUE rb_thread_struct::pending_interrupt_mask_stack

Definition at line 979 of file vm_core.h.

Referenced by Init_Thread(), and rb_uninterruptible().

◆ pending_interrupt_queue

VALUE rb_thread_struct::pending_interrupt_queue

◆ pending_interrupt_queue_checked

unsigned int rb_thread_struct::pending_interrupt_queue_checked

Definition at line 962 of file vm_core.h.

Referenced by Init_Thread(), and rb_threadptr_pending_interrupt_enque().

◆ priority

int8_t rb_thread_struct::priority

Definition at line 963 of file vm_core.h.

Referenced by rb_threadptr_execute_interrupts().

◆ proc [1/2]

VALUE rb_thread_struct::proc

Definition at line 991 of file vm_core.h.

◆  [2/2]

struct { ... } rb_thread_struct::proc

◆ ractor

rb_ractor_t* rb_thread_struct::ractor

◆ report_on_exception

unsigned int rb_thread_struct::report_on_exception

Definition at line 961 of file vm_core.h.

◆ root_fiber

rb_fiber_t* rb_thread_struct::root_fiber

◆ root_jmpbuf

rb_jmpbuf_t rb_thread_struct::root_jmpbuf

Definition at line 1013 of file vm_core.h.

◆ running_time_us

uint32_t rb_thread_struct::running_time_us

Definition at line 964 of file vm_core.h.

Referenced by rb_threadptr_execute_interrupts().

◆ scheduler

VALUE rb_thread_struct::scheduler

Definition at line 1015 of file vm_core.h.

Referenced by rb_scheduler_get(), and rb_scheduler_set().

◆ self

VALUE rb_thread_struct::self

◆ stat_insn_usage

VALUE rb_thread_struct::stat_insn_usage

Definition at line 1009 of file vm_core.h.

◆ thgroup

VALUE rb_thread_struct::thgroup

Definition at line 969 of file vm_core.h.

Referenced by Init_Thread().

◆ thread_id

rb_nativethread_id_t rb_thread_struct::thread_id

Definition at line 953 of file vm_core.h.

Referenced by rb_vmdebug_stack_dump_all_threads().

◆ to_kill

unsigned int rb_thread_struct::to_kill

Definition at line 959 of file vm_core.h.

Referenced by rb_thread_kill(), and rb_thread_to_be_killed().

◆ top_self

VALUE rb_thread_struct::top_self

Definition at line 949 of file vm_core.h.

Referenced by Init_VM(), and rb_eval_string_wrap().

◆ top_wrapper

VALUE rb_thread_struct::top_wrapper

Definition at line 950 of file vm_core.h.

Referenced by Init_VM(), rb_eval_string_wrap(), and rb_set_end_proc().

◆ unblock

struct rb_unblock_callback rb_thread_struct::unblock

Definition at line 983 of file vm_core.h.

Referenced by rb_thread_call_with_gvl().

◆ value

VALUE rb_thread_struct::value

Definition at line 970 of file vm_core.h.

◆ vm

rb_vm_t* rb_thread_struct::vm

The documentation for this struct was generated from the following file: