#include <atomic>
#include <csignal>
#include <cstdlib>
#include <iostream>
#include <new>
#include "child-list.h"
#include "cmd-edit.h"
#include "oct-syscalls.h"
#include "quit.h"
#include "signal-wrappers.h"
#include "defun.h"
#include "error.h"
#include "input.h"
#include "interpreter-private.h"
#include "interpreter.h"
#include "load-save.h"
#include "octave.h"
#include "oct-map.h"
#include "pager.h"
#include "sighandlers.h"
#include "sysdep.h"
#include "utils.h"
#include "variables.h"
Go to the source code of this file.
Functions | |
interrupt_handler | catch_interrupts () |
octave_value_list | Fdebug_on_interrupt (const octave_value_list &args, int nargout) |
octave_value_list | FSIG (const octave_value_list &args, int) |
octave_value_list | Fsighup_dumps_octave_core (const octave_value_list &args, int nargout) |
octave_value_list | Fsigquit_dumps_octave_core (const octave_value_list &args, int nargout) |
octave_value_list | Fsigterm_dumps_octave_core (const octave_value_list &args, int nargout) |
interrupt_handler | ignore_interrupts () |
void | install_signal_handlers () |
void | respond_to_pending_signals () |
interrupt_handler | set_interrupt_handler (const interrupt_handler &h, bool restart_syscalls) |
sig_handler * | set_signal_handler (const char *signame, sig_handler *handler, bool restart_syscalls) |
sig_handler * | set_signal_handler (int sig, sig_handler *handler, bool restart_syscalls) |
Variables | |
std::atomic< bool > | can_interrupt {false} |
int | pipe_handler_error_count = 0 |
bool | Vdebug_on_interrupt = false |
interrupt_handler catch_interrupts | ( | ) |
Definition at line 326 of file sighandlers.cc.
References interrupt_handler::brk_handler, interrupt_handler::int_handler, and set_signal_handler().
Referenced by interpreter::initialize(), install_signal_handlers(), and interpreter::recover_from_exception().
octave_value_list Fdebug_on_interrupt | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 530 of file sighandlers.cc.
References set_internal_variable(), and Vdebug_on_interrupt.
octave_value_list FSIG | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 497 of file sighandlers.cc.
References ovl(), and print_usage().
octave_value_list Fsighup_dumps_octave_core | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 560 of file sighandlers.cc.
References set_internal_variable().
octave_value_list Fsigquit_dumps_octave_core | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 591 of file sighandlers.cc.
References set_internal_variable().
octave_value_list Fsigterm_dumps_octave_core | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 622 of file sighandlers.cc.
References set_internal_variable().
interrupt_handler ignore_interrupts | ( | ) |
Definition at line 337 of file sighandlers.cc.
References interrupt_handler::brk_handler, interrupt_handler::int_handler, and set_signal_handler().
Referenced by history_system::do_edit_history(), kbhit(), and respond_to_pending_signals().
void install_signal_handlers | ( | ) |
Definition at line 364 of file sighandlers.cc.
References catch_interrupts(), octave_create_interrupt_watcher_thread(), octave_num_signals(), and set_signal_handler().
Referenced by interpreter::interpreter().
void respond_to_pending_signals | ( | ) |
Definition at line 111 of file sighandlers.cc.
References __get_child_list__(), ignore_interrupts(), octave_block_child(), octave_get_sig_number(), octave_interrupt_state, octave_num_signals(), octave_strsignal_wrapper(), octave_unblock_child(), pipe_handler_error_count, child_list::reap(), set_interrupt_handler(), and child_list::wait().
Referenced by interpreter::initialize().
interrupt_handler set_interrupt_handler | ( | const interrupt_handler & | h, |
bool | restart_syscalls | ||
) |
Definition at line 348 of file sighandlers.cc.
References interrupt_handler::brk_handler, interrupt_handler::int_handler, and set_signal_handler().
Referenced by history_system::do_edit_history(), kbhit(), and respond_to_pending_signals().
sig_handler * set_signal_handler | ( | const char * | signame, |
sig_handler * | handler, | ||
bool | restart_syscalls | ||
) |
Definition at line 265 of file sighandlers.cc.
References octave_set_signal_handler_by_name().
sig_handler * set_signal_handler | ( | int | sig, |
sig_handler * | handler, | ||
bool | restart_syscalls | ||
) |
Definition at line 259 of file sighandlers.cc.
References octave_set_signal_handler_internal().
Referenced by catch_interrupts(), ignore_interrupts(), install_signal_handlers(), and set_interrupt_handler().
std::atomic<bool> can_interrupt {false} |
Definition at line 69 of file sighandlers.cc.
Referenced by interpreter::initialize(), and interpreter::recover_from_exception().
int pipe_handler_error_count = 0 |
Definition at line 66 of file sighandlers.cc.
Referenced by respond_to_pending_signals().
bool Vdebug_on_interrupt = false |
Definition at line 72 of file sighandlers.cc.
Referenced by bp_table::dbclear_all_signals(), bp_table::dbstop_process_map_args(), Fdebug_on_interrupt(), bp_table::parse_dbfunction_params(), and bp_table::stop_on_err_warn_status().