rb_thread_struct Struct Reference

`#include <vm_core.h>`

## Data Fields

VALUE | self
rb_vm_t * | vm
VALUE * | stack
unsigned long | stack_size
rb_control_frame_t * | cfp
int | safe_level
int | raised_flag
VALUE | last_status
int | state
int | waiting_fd
const rb_block_t * | passed_block
const rb_method_entry_t * | passed_me
VALUE | top_self
VALUE | top_wrapper
rb_block_t * | base_block
VALUE * | local_lfp
VALUE | local_svar
rb_thread_id_t | thread_id
enum rb_thread_status | status
int | priority
native_thread_data_t | native_thread_data
void * | blocking_region_buffer
VALUE | thgroup
VALUE | value
VALUE | errinfo
VALUE | thrown_errinfo
rb_atomic_t | interrupt_flag
rb_thread_lock_t | interrupt_lock
struct rb_unblock_callback | unblock
VALUE | locking_mutex
struct rb_mutex_struct * | keeping_mutexes
struct rb_vm_tag * | tag
struct rb_vm_protect_tag * | protect_tag
int | parse_in_eval
int | mild_compile_error
st_table * | local_storage
struct rb_thread_struct * | join_list_next
struct rb_thread_struct * | join_list_head
VALUE | first_proc
VALUE | first_args
VALUE(* | first_func )(ANYARGS)
VALUE * | machine_stack_start
VALUE * | machine_stack_end
size_t | machine_stack_maxsize
jmp_buf | machine_regs
int | mark_stack_len
VALUE | stat_insn_usage
rb_event_hook_t * | event_hooks
rb_event_flag_t | event_flags
int | tracing
VALUE | fiber
VALUE | root_fiber
rb_jmpbuf_t | root_jmpbuf
int | method_missing_reason
int | abort_on_exception
unsigned long | running_time_us

## Detailed Description

Definition at line 392 of file vm_core.h.

## Field Documentation

int rb_thread_struct::abort_on_exception

Definition at line 488 of file vm_core.h.

Referenced by rb_thread_abort_exc(), rb_thread_abort_exc_set(), and thread_start_func_2().

rb_block_t* rb_thread_struct::base_block

Definition at line 420 of file vm_core.h.

Referenced by eval_string_with_cref(), rb_dvar_defined(), rb_iseq_compile_with_option(), rb_iseq_new_main(), rb_local_defined(), require_libraries(), ruby_exec_internal(), vm_set_eval_stack(), and vm_set_main_stack().

void* rb_thread_struct::blocking_region_buffer

Definition at line 431 of file vm_core.h.

Referenced by blocking_region_end(), rb_thread_call_with_gvl(), and ruby_thread_has_gvl_p().

rb_control_frame_t* rb_thread_struct::cfp

Definition at line 399 of file vm_core.h.

Referenced by check_block(), cont_capture(), cont_restore_thread(), errinfo_place(), eval_string_with_cref(), fiber_init(), Init_VM(), invoke_block_from_c(), m_core_set_postexe(), proc_new(), raise_method_missing(), rb_add_method(), rb_binding_new(), rb_block_given_p(), rb_catch_obj(), rb_current_realfilepath(), rb_f_block_given_p(), rb_f_local_variables(), rb_frame_caller(), rb_frame_pop(), rb_iterate(), rb_method_call_status(), rb_protect(), rb_raise_jump(), rb_rescue2(), rb_sourcefile(), rb_sourceline(), rb_thread_current_status(), rb_thread_mark(), rb_thread_method_id_and_class(), rb_threadptr_execute_interrupts_common(), rb_vm_call_cfunc(), rb_vm_cbase(), rb_vm_cref(), rb_vm_set_finish_env(), rb_vm_stack_to_heap(), rb_vmdebug_debug_print_post(), rb_vmdebug_debug_print_register(), rb_vmdebug_stack_dump_raw_current(), rb_vmdebug_stack_dump_th(), rb_vmdebug_thread_dump_state(), setup_exception(), th_init(), vm_backtrace_each(), vm_call0(), vm_call_cfunc(), vm_call_super(), vm_cref_push(), vm_exec(), vm_exec_core(), vm_get_ev_const(), vm_iter_break(), vm_method_missing_args(), vm_pop_frame(), vm_push_frame(), vm_set_eval_stack(), vm_set_main_stack(), vm_set_top_stack(), vm_setup_method(), vm_svar_get(), vm_svar_set(), vm_yield_setup_block_args(), vm_yield_with_cfunc(), and yield_under().

VALUE rb_thread_struct::errinfo

Definition at line 436 of file vm_core.h.

Referenced by cont_restore_thread(), err_append(), error_print(), eval_string_with_cref(), get_thread_errinfo(), rb_catch_obj(), rb_errinfo(), rb_fiber_start(), rb_iterate(), rb_load_internal(), rb_require_safe(), rb_rescue2(), rb_thread_mark(), rb_thread_status(), rb_threadptr_exec_event_hooks(), rb_threadptr_execute_interrupts_common(), rb_throw_obj(), ruby_cleanup(), ruby_thread_stack_overflow(), setup_exception(), th_init(), thread_join(), thread_start_func_2(), vm_exec(), and vm_iter_break().

rb_event_flag_t rb_thread_struct::event_flags

Definition at line 478 of file vm_core.h.

Referenced by set_threads_event_flags_i(), thread_create_core(), thread_exec_event_hooks(), and thread_reset_event_flags().

rb_event_hook_t* rb_thread_struct::event_hooks

Definition at line 477 of file vm_core.h.

Referenced by rb_thread_mark(), rb_threadptr_add_event_hook(), rb_threadptr_remove_event_hook(), thread_exec_event_hooks(), and thread_reset_event_flags().

VALUE rb_thread_struct::fiber

Definition at line 482 of file vm_core.h.

Referenced by cont_mark(), cont_restore_thread(), fiber_store(), fiber_switch(), rb_cont_call(), rb_fiber_current(), rb_fiber_reset_root_local_storage(), rb_fiber_start(), and rb_thread_mark().

VALUE rb_thread_struct::first_args

Definition at line 458 of file vm_core.h.

Referenced by rb_thread_mark(), thread_create_core(), thread_initialize(), thread_s_new(), and thread_start_func_2().

VALUE(* rb_thread_struct::first_func)(ANYARGS)

Definition at line 459 of file vm_core.h.

Referenced by thread_create_core(), and thread_start_func_2().

VALUE rb_thread_struct::first_proc

Definition at line 457 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_init(), rb_fiber_start(), rb_thread_mark(), thread_create_core(), thread_initialize(), and thread_start_func_2().

rb_atomic_t rb_thread_struct::interrupt_flag

Definition at line 439 of file vm_core.h.

Referenced by rb_threadptr_execute_interrupts_common(), and set_unblock_function().

rb_thread_lock_t rb_thread_struct::interrupt_lock

Definition at line 440 of file vm_core.h.

Referenced by Init_Thread(), rb_threadptr_interrupt(), reset_unblock_function(), set_unblock_function(), thread_cleanup_func(), thread_create_core(), and thread_fd_close_i().

struct rb_thread_struct* rb_thread_struct::join_list_head

Definition at line 455 of file vm_core.h.

Referenced by remove_from_join_list(), thread_join(), and thread_start_func_2().

struct rb_thread_struct* rb_thread_struct::join_list_next

Definition at line 454 of file vm_core.h.

Referenced by remove_from_join_list(), thread_join(), and thread_start_func_2().

struct rb_mutex_struct* rb_thread_struct::keeping_mutexes

Definition at line 443 of file vm_core.h.

Referenced by mutex_locked(), rb_mutex_unlock_th(), rb_threadptr_unlock_all_locking_mutexes(), terminate_atfork_i(), and thread_free().

VALUE rb_thread_struct::last_status

Definition at line 402 of file vm_core.h.

Referenced by rb_last_status_set(), rb_thread_mark(), and th_init().

VALUE* rb_thread_struct::local_lfp

Definition at line 422 of file vm_core.h.

Referenced by lfp_svar_place(), rb_fiber_start(), and thread_start_func_2().

st_table* rb_thread_struct::local_storage

Definition at line 452 of file vm_core.h.

Referenced by cont_init(), cont_restore_thread(), fiber_free(), fiber_init(), fiber_memsize(), rb_fiber_reset_root_local_storage(), rb_thread_key_p(), rb_thread_keys(), rb_thread_local_aref(), rb_thread_local_aset(), rb_thread_mark(), thread_free(), and thread_memsize().

VALUE rb_thread_struct::local_svar

Definition at line 423 of file vm_core.h.

Referenced by lfp_svar_place(), rb_fiber_start(), rb_thread_mark(), and thread_start_func_2().

VALUE rb_thread_struct::locking_mutex

Definition at line 442 of file vm_core.h.

Referenced by check_deadlock_i(), rb_mutex_lock(), rb_thread_mark(), thread_cleanup_func(), thread_free(), and thread_start_func_2().

jmp_buf rb_thread_struct::machine_regs

Definition at line 470 of file vm_core.h.

Referenced by rb_gc_save_machine_context(), and rb_thread_mark().

VALUE* rb_thread_struct::machine_stack_end

Definition at line 463 of file vm_core.h.

Referenced by cont_save_machine_stack(), cont_save_thread(), Init_Cont(), rb_thread_mark(), and thread_cleanup_func_before_exec().

size_t rb_thread_struct::machine_stack_maxsize

Definition at line 464 of file vm_core.h.

VALUE* rb_thread_struct::machine_stack_start

Definition at line 462 of file vm_core.h.

Referenced by cont_save_machine_stack(), cont_save_thread(), rb_thread_mark(), thread_cleanup_func_before_exec(), and thread_start_func_2().

int rb_thread_struct::mark_stack_len

Definition at line 471 of file vm_core.h.

Referenced by cont_capture(), rb_thread_mark(), vm_callee_setup_arg_complex(), and vm_yield_setup_block_args().

int rb_thread_struct::method_missing_reason

Definition at line 487 of file vm_core.h.

Referenced by check_funcall(), method_missing(), rb_method_missing(), and vm_method_missing_args().

int rb_thread_struct::mild_compile_error

Definition at line 449 of file vm_core.h.

Referenced by err_append(), eval_string_with_cref(), and rb_load_internal().

native_thread_data_t rb_thread_struct::native_thread_data

Definition at line 430 of file vm_core.h.

int rb_thread_struct::parse_in_eval

Definition at line 448 of file vm_core.h.

Referenced by eval_string_with_cref(), and require_libraries().

const rb_block_t* rb_thread_struct::passed_block

Definition at line 410 of file vm_core.h.

Referenced by invoke_block_from_c(), method_missing(), rb_iterate(), rb_raise_method_missing(), vm_call0(), vm_call_method(), and vm_method_missing_args().

const rb_method_entry_t* rb_thread_struct::passed_me

Definition at line 413 of file vm_core.h.

Referenced by invoke_block_from_c(), and vm_call_bmethod().

int rb_thread_struct::priority

Definition at line 428 of file vm_core.h.

Referenced by rb_thread_priority(), rb_thread_priority_set(), rb_threadptr_execute_interrupts_common(), and thread_create_core().

struct rb_vm_protect_tag* rb_thread_struct::protect_tag

Definition at line 446 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_switch(), rb_cont_call(), and rb_protect().

int rb_thread_struct::raised_flag

Definition at line 401 of file vm_core.h.

Referenced by cont_restore_thread(), error_print(), rb_threadptr_execute_interrupts_common(), rb_threadptr_raise(), rb_threadptr_reset_raised(), rb_threadptr_set_raised(), and ruby_thread_stack_overflow().

VALUE rb_thread_struct::root_fiber

Definition at line 483 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_store(), fiber_switch(), rb_fiber_current(), rb_fiber_reset_root_local_storage(), rb_thread_mark(), return_fiber(), thread_free(), thread_memsize(), and thread_start_func_2().

rb_jmpbuf_t rb_thread_struct::root_jmpbuf

Definition at line 484 of file vm_core.h.

Referenced by fiber_init().

unsigned long rb_thread_struct::running_time_us

Definition at line 492 of file vm_core.h.

Referenced by rb_thread_schedule_limits(), and rb_threadptr_execute_interrupts_common().

int rb_thread_struct::safe_level

Definition at line 400 of file vm_core.h.

Referenced by cont_restore_thread(), rb_method_call_status(), rb_set_safe_level(), rb_thread_kill(), rb_thread_safe_level(), rb_vm_invoke_proc(), rb_vm_make_proc(), ruby_cleanup(), safe_setter(), thread_start_func_2(), and vm_call_method().

VALUE rb_thread_struct::self

Definition at line 393 of file vm_core.h.

Referenced by cont_mark(), fiber_switch(), Init_VM(), rb_cont_call(), rb_thread_atfork_internal(), ruby_vm_destruct(), th_init(), thread_create_core(), thread_join(), thread_list_i(), and thread_start_func_2().

VALUE* rb_thread_struct::stack

Definition at line 397 of file vm_core.h.

Referenced by cont_capture(), cont_free(), cont_restore_thread(), control_frame_dump(), fiber_init(), method_entry_of_iseq(), rb_frame_caller(), rb_thread_mark(), rb_vm_make_proc(), rb_vm_set_progname(), rb_vmdebug_debug_print_register(), rb_vmdebug_stack_dump_raw(), th_init(), thread_free(), thread_start_func_2(), vm_backtrace_each(), and vm_make_env_each().

unsigned long rb_thread_struct::stack_size

Definition at line 398 of file vm_core.h.

Referenced by cont_capture(), cont_mark(), cont_memsize(), cont_restore_thread(), control_frame_dump(), fiber_init(), method_entry_of_iseq(), rb_frame_caller(), rb_thread_mark(), rb_vm_make_proc(), rb_vm_set_progname(), rb_vmdebug_debug_print_register(), rb_vmdebug_stack_dump_raw(), th_init(), thread_memsize(), vm_backtrace_each(), and vm_throw().

VALUE rb_thread_struct::stat_insn_usage

Definition at line 474 of file vm_core.h.

Referenced by rb_thread_mark().

int rb_thread_struct::state

Definition at line 405 of file vm_core.h.

Referenced by cont_restore_thread(), rb_iterate(), thread_suppress_tracing(), vm_exec(), vm_iter_break(), and vm_throw().

enum rb_thread_status rb_thread_struct::status

Definition at line 427 of file vm_core.h.

Referenced by blocking_region_end(), check_deadlock_i(), cont_restore_thread(), rb_mutex_lock(), rb_thread_backtrace(), rb_thread_inspect(), rb_thread_kill(), rb_thread_status(), rb_thread_stop_p(), rb_thread_wakeup_alive(), rb_threadptr_dead(), rb_threadptr_execute_interrupts_common(), remove_from_join_list(), sleep_forever(), sleep_timeval(), terminate_i(), th_init(), thread_cleanup_func_before_exec(), thread_create_core(), thread_join(), thread_join_sleep(), thread_list_i(), and thread_start_func_2().

struct rb_vm_tag* rb_thread_struct::tag

Definition at line 445 of file vm_core.h.

Referenced by cont_restore_thread(), fiber_init(), rb_catch_obj(), and rb_throw_obj().

VALUE rb_thread_struct::thgroup

Definition at line 433 of file vm_core.h.

Referenced by Init_Thread(), rb_thread_group(), rb_thread_mark(), thgroup_add(), thgroup_list_i(), and thread_create_core().

rb_thread_id_t rb_thread_struct::thread_id

Definition at line 426 of file vm_core.h.

Referenced by Init_VM(), rb_thread_kill(), thread_create_core(), thread_join(), and thread_join_sleep().

VALUE rb_thread_struct::thrown_errinfo

Definition at line 437 of file vm_core.h.

Referenced by rb_fiber_start(), rb_thread_kill(), rb_thread_mark(), rb_threadptr_execute_interrupts_common(), rb_threadptr_raise(), terminate_i(), and thread_fd_close_i().

VALUE rb_thread_struct::top_self

Definition at line 416 of file vm_core.h.

Referenced by Init_VM(), rb_eval_string_wrap(), rb_load_internal(), rb_thread_mark(), ruby_thread_init(), and vm_set_top_stack().

VALUE rb_thread_struct::top_wrapper

Definition at line 417 of file vm_core.h.

Referenced by Init_VM(), rb_eval_string_wrap(), rb_load_internal(), rb_set_end_proc(), rb_thread_mark(), ruby_thread_init(), set_relation(), and top_include().

int rb_thread_struct::tracing

Definition at line 479 of file vm_core.h.

Referenced by rb_threadptr_remove_event_hook(), running_vm_event_hooks(), thread_exec_event_hooks(), thread_set_trace_func_m(), and thread_suppress_tracing().

struct rb_unblock_callback rb_thread_struct::unblock

Definition at line 441 of file vm_core.h.

Referenced by rb_thread_call_with_gvl(), rb_threadptr_interrupt(), reset_unblock_function(), set_unblock_function(), and thread_fd_close_i().

VALUE rb_thread_struct::value

Definition at line 434 of file vm_core.h.

Referenced by rb_thread_mark(), thread_start_func_2(), and thread_value().

rb_vm_t* rb_thread_struct::vm

Definition at line 394 of file vm_core.h.

Referenced by blocking_region_end(), gc_marks(), Init_BareVM(), Init_Thread(), Init_VM(), rb_mutex_lock(), rb_thread_atfork_internal(), rb_thread_kill(), rb_thread_schedule_limits(), rb_thread_terminate_all(), rb_threadptr_execute_interrupts_common(), rb_threadptr_signal_exit(), rb_threadptr_signal_raise(), ruby_thread_init(), sleep_forever(), thread_create_core(), thread_exec_event_hooks(), thread_fd_close_i(), thread_free(), thread_start_func_2(), and vm_backtrace_each().

int rb_thread_struct::waiting_fd

Definition at line 407 of file vm_core.h.

Referenced by rb_thread_blocking_region(), rb_thread_io_blocking_region(), th_init(), and thread_fd_close_i().

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

- vm_core.h