Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Public Types | Public Member Functions | Data Fields
rb_thread_struct Struct Reference

`#include <vm_core.h>`

## Public Types
enum | { thread_invoke_type_none = 0, thread_invoke_type_proc, thread_invoke_type_func }
enum | { thread_invoke_type_none = 0, thread_invoke_type_proc, thread_invoke_type_func }

## Public Member Functions
| BITFIELD (enum rb_thread_status, status, 2)

## Data Fields
struct list_node | vmlt_node
VALUE | self
rb_vm_t * | vm
rb_execution_context_t * | ec
VALUE | last_status
struct rb_calling_info * | calling
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_struct * | keeping_mutexes
rb_thread_list_t * | 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:: { ... } | invoke_type
VALUE | stat_insn_usage
rb_fiber_t * | root_fiber
rb_jmpbuf_t | root_jmpbuf
VALUE | name
enum rb_thread_status | status: 2
union {
struct {
VALUE proc
VALUE args
int kw_splat
} proc
struct {
VALUE(* func )(void *)
void * arg
} func
} | invoke_arg
enum rb_thread_struct:: { ... } | invoke_type

## Detailed Description

Definition at line 910 of file vm_core.h.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
thread_invoke_type_none |
thread_invoke_type_proc |
thread_invoke_type_func |

Definition at line 975 of file vm_core.h.

## ◆ anonymous enum

anonymous enum

Enumerator
thread_invoke_type_none |
thread_invoke_type_proc |
thread_invoke_type_func |

Definition at line 9921 of file rb_mjit_min_header-2.7.0.h.

## Member Function Documentation

## ◆ BITFIELD()

rb_thread_struct::BITFIELD | ( | enum | rb_thread_status,
|  | status | ,
|  | 2 |
| ) |  |

## Field Documentation

## ◆ abort_on_exception

unsigned int rb_thread_struct::abort_on_exception

Definition at line 934 of file vm_core.h.

## ◆ arg

void* rb_thread_struct::arg

Definition at line 971 of file vm_core.h.

## ◆ args

VALUE rb_thread_struct::args

Definition at line 966 of file vm_core.h.

## ◆ blocking_region_buffer

void * rb_thread_struct::blocking_region_buffer

Definition at line 941 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 920 of file vm_core.h.

## ◆ ec

rb_execution_context_t * rb_thread_struct::ec

Definition at line 915 of file vm_core.h.

Referenced by rb_fiber_reset_root_local_storage(), rb_fiber_start(), rb_thread_sleep_interruptible(), rb_thread_terminate_all(), rb_threadptr_execute_interrupts(), rb_threadptr_root_fiber_release(), rb_threadptr_root_fiber_terminate(), and rb_vm_set_progname().

## ◆ func [1/3]

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

Definition at line 970 of file vm_core.h.

## ◆ func [2/3]

struct { ... } rb_thread_struct::func

## ◆ func [3/3]

struct { ... } rb_thread_struct::func

## ◆ interrupt_lock

rb_nativethread_lock_t rb_thread_struct::interrupt_lock

Definition at line 956 of file vm_core.h.

## ◆ invoke_arg [1/2]

union { ... } rb_thread_struct::invoke_arg

## ◆ invoke_arg [2/2]

union { ... } rb_thread_struct::invoke_arg

## ◆ invoke_type [1/2]

enum { ... } rb_thread_struct::invoke_type

## ◆ invoke_type [2/2]

enum { ... } rb_thread_struct::invoke_type

## ◆ join_list

rb_thread_list_t * rb_thread_struct::join_list

Definition at line 961 of file vm_core.h.

## ◆ keeping_mutexes

struct rb_mutex_struct * rb_thread_struct::keeping_mutexes

Definition at line 959 of file vm_core.h.

Referenced by rb_threadptr_unlock_all_locking_mutexes().

## ◆ kw_splat

int rb_thread_struct::kw_splat

Definition at line 967 of file vm_core.h.

## ◆ last_status

VALUE rb_thread_struct::last_status

Definition at line 917 of file vm_core.h.

Referenced by rb_last_status_set().

## ◆ locking_mutex

VALUE rb_thread_struct::locking_mutex

Definition at line 958 of file vm_core.h.

## ◆ name

VALUE rb_thread_struct::name

Definition at line 989 of file vm_core.h.

## ◆ native_thread_data

native_thread_data_t rb_thread_struct::native_thread_data

Definition at line 940 of file vm_core.h.

## ◆ pending_interrupt_mask_stack

VALUE rb_thread_struct::pending_interrupt_mask_stack

Definition at line 953 of file vm_core.h.

## ◆ pending_interrupt_queue

VALUE rb_thread_struct::pending_interrupt_queue

Definition at line 952 of file vm_core.h.

Referenced by rb_threadptr_pending_interrupt_clear(), and rb_threadptr_pending_interrupt_enque().

## ◆ pending_interrupt_queue_checked

unsigned int rb_thread_struct::pending_interrupt_queue_checked

Definition at line 936 of file vm_core.h.

Referenced by rb_threadptr_pending_interrupt_enque().

## ◆ priority

int8_t rb_thread_struct::priority

Definition at line 937 of file vm_core.h.

## ◆ proc [1/3]

VALUE rb_thread_struct::proc

Definition at line 965 of file vm_core.h.

## ◆ proc [2/3]

struct { ... } rb_thread_struct::proc

## ◆ proc [3/3]

struct { ... } rb_thread_struct::proc

## ◆ report_on_exception

unsigned int rb_thread_struct::report_on_exception

Definition at line 935 of file vm_core.h.

## ◆ root_fiber

rb_fiber_t * rb_thread_struct::root_fiber

Definition at line 985 of file vm_core.h.

Referenced by rb_fiber_reset_root_local_storage(), and rb_threadptr_root_fiber_release().

## ◆ root_jmpbuf

rb_jmpbuf_t rb_thread_struct::root_jmpbuf

Definition at line 986 of file vm_core.h.

## ◆ running_time_us

uint32_t rb_thread_struct::running_time_us

Definition at line 938 of file vm_core.h.

## ◆ self

VALUE rb_thread_struct::self

Definition at line 912 of file vm_core.h.

Referenced by rb_fiber_start(), rb_thread_list(), and rb_vm_mark().

## ◆ stat_insn_usage

VALUE rb_thread_struct::stat_insn_usage

Definition at line 982 of file vm_core.h.

## ◆ status

enum rb_thread_status rb_thread_struct::status

Definition at line 9892 of file rb_mjit_min_header-2.7.0.h.

Referenced by rb_thread_list(), and rb_thread_sleep_interruptible().

## ◆ thgroup

VALUE rb_thread_struct::thgroup

Definition at line 943 of file vm_core.h.

## ◆ thread_id

rb_nativethread_id_t rb_thread_struct::thread_id

Definition at line 927 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 933 of file vm_core.h.

## ◆ top_self

VALUE rb_thread_struct::top_self

Definition at line 923 of file vm_core.h.

Referenced by rb_eval_string_wrap().

## ◆ top_wrapper

VALUE rb_thread_struct::top_wrapper

Definition at line 924 of file vm_core.h.

Referenced by rb_eval_string_wrap(), and rb_set_end_proc().

## ◆ unblock

struct rb_unblock_callback rb_thread_struct::unblock

Definition at line 957 of file vm_core.h.

Referenced by rb_thread_call_with_gvl().

## ◆ value

VALUE rb_thread_struct::value

Definition at line 944 of file vm_core.h.

## ◆ vm

rb_vm_t * rb_thread_struct::vm

Definition at line 913 of file vm_core.h.

Referenced by Init_Cont(), rb_notify_fd_close(), and rb_thread_terminate_all().

## ◆ vmlt_node

struct list_node rb_thread_struct::vmlt_node

Definition at line 911 of file vm_core.h.

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

- vm_core.h
- /msysdev/ruby/src/build-x86_64-pc-msys/include/ruby-2.7.0/x86_64-msys/rb_mjit_min_header-2.7.0.h