Ruby 3.4.5p51 (2025-07-16 revision 20cda200d3ce092571d0b5d342dadca69636cb0f)
rb_thread_struct Struct Reference

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 ccan_list_node lt_node
VALUE self
rb_ractor_tractor
rb_vm_tvm
struct rb_native_threadnt
rb_execution_context_tec
struct rb_thread_sched_item sched
bool mn_schedulable
rb_atomic_t serial
VALUE last_status
struct rb_calling_infocalling
VALUE top_self
VALUE top_wrapper
unsigned int has_dedicated_nt: 1
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
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 ccan_list_head interrupt_exec_tasks
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
VALUE scheduler
unsigned int blocking
VALUE name
void ** specific_storage
struct rb_ext_config ext_config

Detailed Description

Definition at line 1108 of file vm_core.h.

Member Enumeration Documentation

◆ thread_invoke_type

enum rb_thread_struct::thread_invoke_type

Definition at line 1176 of file vm_core.h.

Field Documentation

◆ abort_on_exception

unsigned int rb_thread_struct::abort_on_exception

Definition at line 1135 of file vm_core.h.

◆ arg

void* rb_thread_struct::arg

Definition at line 1172 of file vm_core.h.

◆ args

VALUE rb_thread_struct::args

Definition at line 1167 of file vm_core.h.

◆ blocking

unsigned int rb_thread_struct::blocking

Definition at line 1190 of file vm_core.h.

◆ blocking_region_buffer

void* rb_thread_struct::blocking_region_buffer

Definition at line 1141 of file vm_core.h.

◆ calling

struct rb_calling_info* rb_thread_struct::calling

Definition at line 1123 of file vm_core.h.

◆ ec

rb_execution_context_t* rb_thread_struct::ec

Definition at line 1114 of file vm_core.h.

◆ ext_config

struct rb_ext_config rb_thread_struct::ext_config

Definition at line 1196 of file vm_core.h.

◆ func

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

Definition at line 1171 of file vm_core.h.

◆ has_dedicated_nt

unsigned int rb_thread_struct::has_dedicated_nt

Definition at line 1133 of file vm_core.h.

◆ interrupt_exec_tasks

struct ccan_list_head rb_thread_struct::interrupt_exec_tasks

Definition at line 1160 of file vm_core.h.

◆ interrupt_lock

rb_nativethread_lock_t rb_thread_struct::interrupt_lock

Definition at line 1156 of file vm_core.h.

◆ join_list

struct rb_waiting_list* rb_thread_struct::join_list

Definition at line 1162 of file vm_core.h.

◆ keeping_mutexes

struct rb_mutex_struct* rb_thread_struct::keeping_mutexes

Definition at line 1159 of file vm_core.h.

◆ kw_splat

int rb_thread_struct::kw_splat

Definition at line 1168 of file vm_core.h.

◆ last_status

VALUE rb_thread_struct::last_status

Definition at line 1120 of file vm_core.h.

◆ locking_mutex

VALUE rb_thread_struct::locking_mutex

Definition at line 1158 of file vm_core.h.

◆ lt_node

struct ccan_list_node rb_thread_struct::lt_node

Definition at line 1109 of file vm_core.h.

◆ mn_schedulable

bool rb_thread_struct::mn_schedulable

Definition at line 1117 of file vm_core.h.

◆ name

VALUE rb_thread_struct::name

Definition at line 1193 of file vm_core.h.

◆ nt

struct rb_native_thread* rb_thread_struct::nt

Definition at line 1113 of file vm_core.h.

◆ pending_interrupt_mask_stack

VALUE rb_thread_struct::pending_interrupt_mask_stack

Definition at line 1153 of file vm_core.h.

◆ pending_interrupt_queue

VALUE rb_thread_struct::pending_interrupt_queue

Definition at line 1152 of file vm_core.h.

◆ pending_interrupt_queue_checked

unsigned int rb_thread_struct::pending_interrupt_queue_checked

Definition at line 1137 of file vm_core.h.

◆ priority

int8_t rb_thread_struct::priority

Definition at line 1138 of file vm_core.h.

◆ proc

VALUE rb_thread_struct::proc

Definition at line 1166 of file vm_core.h.

◆ ractor

rb_ractor_t* rb_thread_struct::ractor

Definition at line 1111 of file vm_core.h.

◆ report_on_exception

unsigned int rb_thread_struct::report_on_exception

Definition at line 1136 of file vm_core.h.

◆ root_fiber

rb_fiber_t* rb_thread_struct::root_fiber

Definition at line 1187 of file vm_core.h.

◆ running_time_us

uint32_t rb_thread_struct::running_time_us

Definition at line 1139 of file vm_core.h.

◆ sched

struct rb_thread_sched_item rb_thread_struct::sched

Definition at line 1116 of file vm_core.h.

◆ scheduler

VALUE rb_thread_struct::scheduler

Definition at line 1189 of file vm_core.h.

◆ self

VALUE rb_thread_struct::self

Definition at line 1110 of file vm_core.h.

◆ serial

rb_atomic_t rb_thread_struct::serial

Definition at line 1118 of file vm_core.h.

◆ specific_storage

void** rb_thread_struct::specific_storage

Definition at line 1194 of file vm_core.h.

◆ stat_insn_usage

VALUE rb_thread_struct::stat_insn_usage

Definition at line 1184 of file vm_core.h.

◆ thgroup

VALUE rb_thread_struct::thgroup

Definition at line 1143 of file vm_core.h.

◆ to_kill

unsigned int rb_thread_struct::to_kill

Definition at line 1134 of file vm_core.h.

◆ top_self

VALUE rb_thread_struct::top_self

Definition at line 1126 of file vm_core.h.

◆ top_wrapper

VALUE rb_thread_struct::top_wrapper

Definition at line 1127 of file vm_core.h.

◆ unblock

struct rb_unblock_callback rb_thread_struct::unblock

Definition at line 1157 of file vm_core.h.

◆ value

VALUE rb_thread_struct::value

Definition at line 1144 of file vm_core.h.

◆ vm

rb_vm_t* rb_thread_struct::vm

Definition at line 1112 of file vm_core.h.


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