Ruby
2.4.2p198(2017-09-14revision59899)
|
#include "eval_intern.h"
Go to the source code of this file.
Data Structures | |
struct | end_proc_data |
Functions | |
void | rb_call_end_proc (VALUE data) |
static VALUE | rb_f_at_exit (void) |
void | rb_set_end_proc (void(*func)(VALUE), VALUE data) |
void | rb_mark_end_proc (void) |
static void | exec_end_procs_chain (struct end_proc_data *volatile *procs, VALUE *errp) |
void | rb_exec_end_proc (void) |
void | Init_jump (void) |
Variables | |
static struct end_proc_data * | end_procs |
static struct end_proc_data * | ephemeral_end_procs |
|
static |
Definition at line 97 of file eval_jump.c.
References end_proc_data::data, end_proc_data::func, link(), end_proc_data::next, rb_set_safe_level_force(), end_proc_data::safe, and xfree().
Referenced by rb_exec_end_proc().
void Init_jump | ( | void | ) |
Definition at line 142 of file eval_jump.c.
References rb_define_global_function(), and rb_f_at_exit().
void rb_call_end_proc | ( | VALUE | data | ) |
Definition at line 11 of file eval_jump.c.
References rb_ary_new(), and rb_proc_call().
Referenced by m_core_set_postexe(), and rb_f_at_exit().
void rb_exec_end_proc | ( | void | ) |
Definition at line 114 of file eval_jump.c.
References rb_thread_struct::errinfo, error_handle(), exec_end_procs_chain(), EXEC_TAG, GET_THREAD, NIL_P, rb_safe_level(), rb_set_safe_level_force(), end_proc_data::safe, TH_POP_TAG, TH_PUSH_TAG, TH_REPUSH_TAG, TH_TMPPOP_TAG, and VAR_INITIALIZED.
Referenced by ruby_finalize_0().
|
static |
Definition at line 38 of file eval_jump.c.
References rb_block_given_p(), rb_block_proc(), rb_call_end_proc(), rb_eArgError, rb_raise(), and rb_set_end_proc().
Referenced by Init_jump().
void rb_mark_end_proc | ( | void | ) |
Definition at line 80 of file eval_jump.c.
References end_proc_data::data, end_procs, ephemeral_end_procs, link(), end_proc_data::next, and rb_gc_mark().
Referenced by gc_mark_roots().
Definition at line 60 of file eval_jump.c.
References ALLOC, end_proc_data::data, end_procs, ephemeral_end_procs, end_proc_data::func, GET_THREAD, link(), list, end_proc_data::next, rb_safe_level(), end_proc_data::safe, and rb_thread_struct::top_wrapper.
Referenced by m_core_set_postexe(), and rb_f_at_exit().
|
static |
Definition at line 57 of file eval_jump.c.
Referenced by rb_mark_end_proc(), and rb_set_end_proc().
|
static |
Definition at line 57 of file eval_jump.c.
Referenced by rb_mark_end_proc(), and rb_set_end_proc().