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_tvm
 
rb_execution_context_tec
 
VALUE last_status
 
struct rb_calling_infocalling
 
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
 
voidblocking_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
 
rb_thread_list_tjoin_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_troot_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  ,
 
)

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

◆ 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

◆ 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

◆ 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: