eval_jump.c File Reference

#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)
void rb_exec_end_proc (void)
void Init_jump (void)

Variables

static struct end_proc_dataend_procs
static struct end_proc_dataephemeral_end_procs


Function Documentation

static void exec_end_procs_chain ( struct end_proc_data *volatile *  procs  )  [static]

Definition at line 97 of file eval_jump.c.

References end_proc_data::data, end_proc_data::func, link(), rb_set_safe_level_force(), end_proc_data::safe, and xfree.

Referenced by rb_exec_end_proc().

void Init_jump ( void   ) 

Definition at line 139 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 112 of file eval_jump.c.

References end_procs, ephemeral_end_procs, rb_thread_struct::errinfo, error_handle(), exec_end_procs_chain(), EXEC_TAG, GET_THREAD(), NIL_P, POP_TAG, PUSH_TAG, rb_safe_level, rb_set_safe_level_force(), end_proc_data::safe, TH_REPUSH_TAG, TH_TMPPOP_TAG, and VALUE.

Referenced by ruby_finalize_0().

static VALUE rb_f_at_exit ( void   )  [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(), rb_set_end_proc(), and VALUE.

Referenced by Init_jump().

void rb_mark_end_proc ( void   ) 

Definition at line 80 of file eval_jump.c.

References end_procs, ephemeral_end_procs, link(), and rb_gc_mark().

Referenced by gc_mark_roots().

void rb_set_end_proc ( void(*)(VALUE)  func,
VALUE  data 
)

Definition at line 60 of file eval_jump.c.

References ALLOC, end_procs, ephemeral_end_procs, GET_THREAD(), link(), list, rb_safe_level, and rb_thread_struct::top_wrapper.

Referenced by Init_tcltklib(), m_core_set_postexe(), and rb_f_at_exit().


Variable Documentation

struct end_proc_data* end_procs [static]

Definition at line 57 of file eval_jump.c.

Referenced by rb_exec_end_proc(), rb_mark_end_proc(), and rb_set_end_proc().

struct end_proc_data * ephemeral_end_procs [static]

Definition at line 57 of file eval_jump.c.

Referenced by rb_exec_end_proc(), rb_mark_end_proc(), and rb_set_end_proc().


Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7