Ruby: rb_thread_struct Struct Reference

Ruby 3.4.9p82 (2026-03-11 revision 76cca827ab52ab1d346a728f068d5b8da3e2952b)

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_t * | ractor
rb_vm_t * | vm
struct rb_native_thread * | nt
rb_execution_context_t * | ec
struct rb_thread_sched_item | sched
bool | mn_schedulable
rb_atomic_t | serial
VALUE | last_status
struct rb_calling_info * | calling
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_struct * | keeping_mutexes
struct ccan_list_head | interrupt_exec_tasks
struct rb_waiting_list * | join_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_t * | root_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:

- vm_core.h