Ruby 3.5.0dev (2025-02-22 revision 412997300569c1853c09813e4924b6df3d7e8669)
Public Types | Public Member Functions | Data Fields
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 1101 of file vm_core.h.

Member Enumeration Documentation

◆ thread_invoke_type

enum rb_thread_struct::thread_invoke_type

Definition at line 1169 of file vm_core.h.

Field Documentation

◆ abort_on_exception

unsigned int rb_thread_struct::abort_on_exception

Definition at line 1128 of file vm_core.h.

◆ arg

void* rb_thread_struct::arg

Definition at line 1165 of file vm_core.h.

◆ args

VALUE rb_thread_struct::args

Definition at line 1160 of file vm_core.h.

◆ blocking

unsigned int rb_thread_struct::blocking

Definition at line 1183 of file vm_core.h.

◆ blocking_region_buffer

void* rb_thread_struct::blocking_region_buffer

Definition at line 1134 of file vm_core.h.

◆ calling

struct rb_calling_info* rb_thread_struct::calling

Definition at line 1116 of file vm_core.h.

◆ ec

rb_execution_context_t* rb_thread_struct::ec

Definition at line 1107 of file vm_core.h.

◆ ext_config

struct rb_ext_config rb_thread_struct::ext_config

Definition at line 1189 of file vm_core.h.

◆ func

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

Definition at line 1164 of file vm_core.h.

◆ has_dedicated_nt

unsigned int rb_thread_struct::has_dedicated_nt

Definition at line 1126 of file vm_core.h.

◆ interrupt_exec_tasks

struct ccan_list_head rb_thread_struct::interrupt_exec_tasks

Definition at line 1153 of file vm_core.h.

◆ interrupt_lock

rb_nativethread_lock_t rb_thread_struct::interrupt_lock

Definition at line 1149 of file vm_core.h.

◆ join_list

struct rb_waiting_list* rb_thread_struct::join_list

Definition at line 1155 of file vm_core.h.

◆ keeping_mutexes

struct rb_mutex_struct* rb_thread_struct::keeping_mutexes

Definition at line 1152 of file vm_core.h.

◆ kw_splat

int rb_thread_struct::kw_splat

Definition at line 1161 of file vm_core.h.

◆ last_status

VALUE rb_thread_struct::last_status

Definition at line 1113 of file vm_core.h.

◆ locking_mutex

VALUE rb_thread_struct::locking_mutex

Definition at line 1151 of file vm_core.h.

◆ lt_node

struct ccan_list_node rb_thread_struct::lt_node

Definition at line 1102 of file vm_core.h.

◆ mn_schedulable

bool rb_thread_struct::mn_schedulable

Definition at line 1110 of file vm_core.h.

◆ name

VALUE rb_thread_struct::name

Definition at line 1186 of file vm_core.h.

◆ nt

struct rb_native_thread* rb_thread_struct::nt

Definition at line 1106 of file vm_core.h.

◆ pending_interrupt_mask_stack

VALUE rb_thread_struct::pending_interrupt_mask_stack

Definition at line 1146 of file vm_core.h.

◆ pending_interrupt_queue

VALUE rb_thread_struct::pending_interrupt_queue

Definition at line 1145 of file vm_core.h.

◆ pending_interrupt_queue_checked

unsigned int rb_thread_struct::pending_interrupt_queue_checked

Definition at line 1130 of file vm_core.h.

◆ priority

int8_t rb_thread_struct::priority

Definition at line 1131 of file vm_core.h.

◆ proc

VALUE rb_thread_struct::proc

Definition at line 1159 of file vm_core.h.

◆ ractor

rb_ractor_t* rb_thread_struct::ractor

Definition at line 1104 of file vm_core.h.

◆ report_on_exception

unsigned int rb_thread_struct::report_on_exception

Definition at line 1129 of file vm_core.h.

◆ root_fiber

rb_fiber_t* rb_thread_struct::root_fiber

Definition at line 1180 of file vm_core.h.

◆ running_time_us

uint32_t rb_thread_struct::running_time_us

Definition at line 1132 of file vm_core.h.

◆ sched

struct rb_thread_sched_item rb_thread_struct::sched

Definition at line 1109 of file vm_core.h.

◆ scheduler

VALUE rb_thread_struct::scheduler

Definition at line 1182 of file vm_core.h.

◆ self

VALUE rb_thread_struct::self

Definition at line 1103 of file vm_core.h.

◆ serial

rb_atomic_t rb_thread_struct::serial

Definition at line 1111 of file vm_core.h.

◆ specific_storage

void** rb_thread_struct::specific_storage

Definition at line 1187 of file vm_core.h.

◆ stat_insn_usage

VALUE rb_thread_struct::stat_insn_usage

Definition at line 1177 of file vm_core.h.

◆ thgroup

VALUE rb_thread_struct::thgroup

Definition at line 1136 of file vm_core.h.

◆ to_kill

unsigned int rb_thread_struct::to_kill

Definition at line 1127 of file vm_core.h.

◆ top_self

VALUE rb_thread_struct::top_self

Definition at line 1119 of file vm_core.h.

◆ top_wrapper

VALUE rb_thread_struct::top_wrapper

Definition at line 1120 of file vm_core.h.

◆ unblock

struct rb_unblock_callback rb_thread_struct::unblock

Definition at line 1150 of file vm_core.h.

◆ value

VALUE rb_thread_struct::value

Definition at line 1137 of file vm_core.h.

◆ vm

rb_vm_t* rb_thread_struct::vm

Definition at line 1105 of file vm_core.h.


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