|
Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
#include "internal.h"#include "vm_core.h"#include <signal.h>#include <stdio.h>#include <errno.h>#include "ruby_atomic.h"#include "eval_intern.h"#include "debug_counter.h"Go to the source code of this file.
Data Structures | |
| struct | signals |
Macros | |
| #define | VALGRIND_MAKE_MEM_DEFINED(p, n) 0 |
| #define | VALGRIND_MAKE_MEM_UNDEFINED(p, n) 0 |
| #define | FOREACH_SIGNAL(sig, offset) for (sig = siglist + (offset); sig < siglist + numberof(siglist); ++sig) |
| #define | killpg(pg, sig) kill(-(pg), (sig)) |
| #define | sighandler_t ruby_sighandler_t |
| #define | SIGINFO_ARG |
| #define | SIGINFO_CTX 0 |
| #define | ruby_signal(sig, handler) (/* rb_trap_accept_nativethreads[(sig)] = 0,*/ signal((sig),(handler))) |
| #define | GET_SIGCHLD_HIT() 0 |
| #define | clear_received_signal() ((void)0) |
| #define | CHECK_STACK_OVERFLOW() (void)0 |
| #define | MESSAGE_FAULT_ADDRESS |
| #define | INSTALL_SIGHANDLER(cond, signame, signum) |
| #define | install_sighandler(signum, handler) INSTALL_SIGHANDLER(install_sighandler_core(signum, handler, NULL), #signum, signum) |
| #define | force_install_sighandler(signum, handler, old_handler) INSTALL_SIGHANDLER(install_sighandler_core(signum, handler, old_handler), #signum, signum) |
| #define | grantpt(fd) fake_grantfd(fd) |
Typedefs | |
| typedef RETSIGTYPE | ruby_sigaction_t(int) |
Functions | |
| rb_atomic_t | ruby_atomic_exchange (rb_atomic_t *ptr, rb_atomic_t val) |
| rb_atomic_t | ruby_atomic_compare_and_swap (rb_atomic_t *ptr, rb_atomic_t cmp, rb_atomic_t newval) |
| const char * | ruby_signal_name (int no) |
| void | rb_malloc_info_show_results (void) |
| void | ruby_default_signal (int sig) |
| VALUE | rb_f_kill (int argc, const VALUE *argv) |
| int | rb_signal_buff_size (void) |
| int | rb_get_next_signal (void) |
| void | rb_vm_trap_exit (rb_vm_t *vm) |
| void | ruby_waitpid_all (rb_vm_t *) |
| void | ruby_sigchld_handler (rb_vm_t *vm) |
| int | rb_signal_exec (rb_thread_t *th, int sig) |
| void | ruby_sig_finalize (void) |
| void | Init_signal (void) |
| int | rb_grantpt (int masterfd) |
Variables | |
| int | ruby_enable_coredump = 0 |
| #define force_install_sighandler | ( | signum, | |
| handler, | |||
| old_handler | |||
| ) | INSTALL_SIGHANDLER(install_sighandler_core(signum, handler, old_handler), #signum, signum) |
| #define INSTALL_SIGHANDLER | ( | cond, | |
| signame, | |||
| signum | |||
| ) |
| #define install_sighandler | ( | signum, | |
| handler | |||
| ) | INSTALL_SIGHANDLER(install_sighandler_core(signum, handler, NULL), #signum, signum) |
| #define sighandler_t ruby_sighandler_t |
| typedef RETSIGTYPE ruby_sigaction_t(int) |
| anonymous enum |
Definition at line 1521 of file signal.c.
References rb_define_global_function(), and rb_define_module().
Definition at line 1597 of file signal.c.
References errno, GET_VM, grantpt, rb_nativethread_lock_lock(), rb_nativethread_lock_unlock(), RUBY_SIGCHLD, and rb_vm_struct::waitpid_lock.
Definition at line 9999 of file gc.c.
Referenced by ruby_default_signal().
Definition at line 726 of file signal.c.
Referenced by rb_thread_check_trap_pending(), and rb_threadptr_check_signal().
| int rb_signal_exec | ( | rb_thread_t * | th, |
| int | sig | ||
| ) |
Definition at line 1082 of file signal.c.
References rb_vm_struct::cmd, GET_VM, Qundef, rb_interrupt(), rb_threadptr_signal_exit(), rb_threadptr_signal_raise(), sig, SIGALRM, SIGHUP, SIGINT, SIGQUIT, SIGTERM, SIGUSR1, SIGUSR2, and rb_vm_struct::trap_list.
Definition at line 1060 of file signal.c.
References rb_vm_struct::cmd, and rb_vm_struct::trap_list.
| rb_atomic_t ruby_atomic_compare_and_swap | ( | rb_atomic_t * | ptr, |
| rb_atomic_t | cmp, | ||
| rb_atomic_t | newval | ||
| ) |
| rb_atomic_t ruby_atomic_exchange | ( | rb_atomic_t * | ptr, |
| rb_atomic_t | val | ||
| ) |
Definition at line 402 of file signal.c.
References rb_debug_counter_show_results(), rb_malloc_info_show_results(), sig, SIG_DFL, and signal().
Definition at line 1073 of file signal.c.
References GET_SIGCHLD_HIT, ruby_waitpid_all(), and SIGCHLD_LOSSY.
Definition at line 1029 of file process.c.
References list_empty, rb_native_mutex_lock(), ruby_nocldwait, rb_vm_struct::waiting_grps, rb_vm_struct::waiting_pids, and rb_vm_struct::waitpid_lock.
Referenced by ruby_sigchld_handler().
| rb_atomic_t cnt[RUBY_NSIG] |
Definition at line 503 of file signal.c.
Referenced by procstat_vm(), rb_alloc_tmp_buffer(), rb_ary_rotate(), rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().
| int ruby_enable_coredump = 0 |
Definition at line 1481 of file signal.c.
Referenced by ruby_env_debug_option().
| rb_atomic_t size |