GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "command.h"
#include "serial.h"
#include "terminal.h"
#include "target.h"
#include "gdbthread.h"
#include "observable.h"
#include <signal.h>
#include <fcntl.h>
#include "gdbsupport/gdb_select.h"
#include "gdbcmd.h"
#include "gdbsupport/job-control.h"
#include "gdbsupport/scoped_ignore_sigttou.h"
Go to the source code of this file.
Classes | |
struct | terminal_info |
Macros | |
#define | O_NOCTTY 0 |
#define | OOPSY(what) |
#define | O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) |
Variables | |
static struct serial * | stdin_serial |
static struct terminal_info | our_terminal_info |
static serial_ttystate | initial_gdb_ttystate |
static gdb::optional< sighandler_t > | sigint_ours |
static std::string | inferior_thisrun_terminal |
static target_terminal_state | gdb_tty_state = target_terminal_state::is_ours |
static const registry< inferior >::key< terminal_info > | inflow_inferior_data |
static sighandler_t | osig |
static int | osig_set |
#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) |
#define O_NOCTTY 0 |
Definition at line 44 of file inflow.c.
Referenced by windows_nat_target::create_inferior(), new_tty(), and open_terminal_stream().
#define OOPSY | ( | what | ) |
Definition at line 173 of file inflow.c.
Referenced by child_terminal_inferior().
void _initialize_inflow | ( | ) |
Definition at line 932 of file inflow.c.
Referenced by initialize_all_files().
|
static |
Definition at line 765 of file inflow.c.
References gdb_printf(), and gdb_stderr.
Referenced by new_tty().
void child_interrupt | ( | struct target_ops * | self | ) |
Definition at line 505 of file inflow.c.
References all_non_exited_threads(), thread_info::inf, and inferior::pid.
Referenced by inf_child_target::interrupt().
void child_pass_ctrlc | ( | struct target_ops * | self | ) |
Definition at line 539 of file inflow.c.
References all_inferiors(), is_ours, target_terminal::is_ours(), our_terminal_info, inf::pid, and tcgetpgrp().
Referenced by inf_child_target::pass_ctrlc().
void child_terminal_inferior | ( | struct target_ops * | self | ) |
Definition at line 300 of file inflow.c.
References current_inferior(), gdb_has_a_terminal(), gdb_printf(), gdb_stderr, gdb_tty_state, get_inflow_inferior_data(), install_sigint_handler(), is_inferior, OOPSY, inf::pid, serial_set_tty_state(), sharing_input_terminal(), sigint_ours, stdin_serial, tcsetpgrp(), terminal_info::tflags, and terminal_info::ttystate.
Referenced by inf_child_target::terminal_inferior().
void child_terminal_info | ( | struct target_ops * | self, |
const char * | args, | ||
int | from_tty ) |
Definition at line 660 of file inflow.c.
References current_inferior(), flags, gdb_has_a_terminal(), gdb_printf(), gdb_stdout, get_inflow_inferior_data(), inferior_ptid, O_ACCMODE, O_BINARY, serial_print_tty_state(), stdin_serial, terminal_info::tflags, and terminal_info::ttystate.
Referenced by inf_child_target::terminal_info().
void child_terminal_init | ( | struct target_ops * | self | ) |
Definition at line 182 of file inflow.c.
References current_inferior(), gdb_has_a_terminal(), get_inflow_inferior_data(), initial_gdb_ttystate, inf::pid, serial_copy_tty_state(), stdin_serial, terminal_info::ttystate, and xfree().
Referenced by inf_child_target::terminal_init().
void child_terminal_ours | ( | struct target_ops * | self | ) |
Definition at line 403 of file inflow.c.
References child_terminal_ours_1(), and is_ours.
Referenced by inf_child_target::terminal_ours().
|
static |
Definition at line 442 of file inflow.c.
References gdb_has_a_terminal(), gdb_printf(), gdb_stderr, gdb_tty_state, install_sigint_handler(), is_inferior, is_ours, our_terminal_info, serial_set_tty_state(), sigint_ours, stdin_serial, tcsetpgrp(), terminal_info::tflags, and terminal_info::ttystate.
Referenced by child_terminal_ours(), and child_terminal_ours_for_output().
void child_terminal_ours_for_output | ( | struct target_ops * | self | ) |
Definition at line 389 of file inflow.c.
References child_terminal_ours_1(), and is_ours_for_output.
Referenced by inf_child_target::terminal_ours_for_output().
void child_terminal_save_inferior | ( | struct target_ops * | self | ) |
Definition at line 412 of file inflow.c.
References current_inferior(), gdb_has_a_terminal(), get_inflow_inferior_data(), serial_get_tty_state(), sharing_input_terminal(), stdin_serial, tcgetpgrp(), terminal_info::tflags, terminal_info::ttystate, and xfree().
Referenced by inf_child_target::terminal_save_inferior().
void clear_sigint_trap | ( | void | ) |
Definition at line 881 of file inflow.c.
References install_sigint_handler(), osig, and osig_set.
Referenced by nbsd_wait(), proc_wait_for_stop(), inf_ptrace_target::wait(), and rs6000_nat_target::wait().
Definition at line 621 of file inflow.c.
References get_inflow_inferior_data(), serial_copy_tty_state(), stdin_serial, inferior::terminal_state, terminal_info::ttystate, and xfree().
Referenced by follow_fork_inferior().
pid_t create_tty_session | ( | void | ) |
Definition at line 899 of file inflow.c.
References inferior_thisrun_terminal.
Referenced by postfork_child_hook().
|
static |
Definition at line 166 of file inflow.c.
References initial_gdb_ttystate.
Referenced by child_terminal_inferior(), child_terminal_info(), child_terminal_init(), child_terminal_ours_1(), child_terminal_save_inferior(), and gdb_save_tty_state().
void gdb_save_tty_state | ( | void | ) |
Definition at line 206 of file inflow.c.
References gdb_has_a_terminal(), our_terminal_info, serial_get_tty_state(), stdin_serial, terminal_info::ttystate, and xfree().
Referenced by tui_disable(), and tui_enable().
|
static |
Definition at line 596 of file inflow.c.
References registry< T >::get(), and inflow_inferior_data.
Referenced by child_terminal_inferior(), child_terminal_info(), child_terminal_init(), child_terminal_save_inferior(), copy_terminal_info(), new_tty_postfork(), set_sigint_trap(), and sharing_input_terminal().
|
static |
Definition at line 614 of file inflow.c.
References inflow_inferior_data, and is_ours.
|
static |
Definition at line 654 of file inflow.c.
References target_terminal::info().
void initialize_stdin_serial | ( | void | ) |
Definition at line 925 of file inflow.c.
References serial_fdopen(), and stdin_serial.
Referenced by gdb_init().
tribool is_gdb_terminal | ( | const char * | tty | ) |
Definition at line 218 of file inflow.c.
Referenced by sharing_input_terminal(), and sharing_input_terminal().
void new_tty | ( | void | ) |
Definition at line 777 of file inflow.c.
References check_syscall(), inferior_thisrun_terminal, and O_NOCTTY.
Referenced by postfork_child_hook().
void new_tty_postfork | ( | void | ) |
Definition at line 838 of file inflow.c.
References current_inferior(), get_inflow_inferior_data(), inferior_thisrun_terminal, and terminal_info::run_terminal.
Referenced by postfork_hook().
void new_tty_prefork | ( | std::string | ttyname | ) |
Definition at line 753 of file inflow.c.
References inferior_thisrun_terminal.
Referenced by prefork_hook().
|
static |
void set_initial_gdb_ttystate | ( | void | ) |
Definition at line 143 of file inflow.c.
References initial_gdb_ttystate, our_terminal_info, serial_copy_tty_state(), serial_get_tty_state(), stdin_serial, tcgetpgrp(), terminal_info::tflags, and terminal_info::ttystate.
Referenced by gdb_init().
void set_sigint_trap | ( | void | ) |
Definition at line 866 of file inflow.c.
References current_inferior(), get_inflow_inferior_data(), install_sigint_handler(), osig, osig_set, pass_signal(), and terminal_info::run_terminal.
Referenced by nbsd_wait(), proc_wait_for_stop(), inf_ptrace_target::wait(), and rs6000_nat_target::wait().
|
static |
Definition at line 265 of file inflow.c.
References get_inflow_inferior_data(), is_gdb_terminal(), inf::pid, terminal_info::run_terminal, and sharing_input_terminal().
Referenced by child_terminal_inferior(), child_terminal_save_inferior(), and sharing_input_terminal().
Definition at line 642 of file inflow.c.
References registry< T >::get(), inflow_inferior_data, registry< T >::set(), and inferior::terminal_state.
Referenced by follow_exec().
|
static |
Definition at line 138 of file inflow.c.
Referenced by child_terminal_inferior(), and child_terminal_ours_1().
|
static |
Definition at line 126 of file inflow.c.
Referenced by create_tty_session(), new_tty(), new_tty_postfork(), and new_tty_prefork().
|
static |
Definition at line 585 of file inflow.c.
Referenced by get_inflow_inferior_data(), inflow_inferior_exit(), and swap_terminal_info().
|
static |
Definition at line 107 of file inflow.c.
Referenced by child_terminal_init(), gdb_has_a_terminal(), and set_initial_gdb_ttystate().
|
static |
Definition at line 862 of file inflow.c.
Referenced by clear_sigint_trap(), and set_sigint_trap().
|
static |
Definition at line 863 of file inflow.c.
Referenced by clear_sigint_trap(), and set_sigint_trap().
|
static |
Definition at line 100 of file inflow.c.
Referenced by child_pass_ctrlc(), child_terminal_ours_1(), gdb_save_tty_state(), and set_initial_gdb_ttystate().
|
static |
Definition at line 116 of file inflow.c.
Referenced by child_terminal_inferior(), and child_terminal_ours_1().
|
static |
Definition at line 53 of file inflow.c.
Referenced by child_terminal_inferior(), child_terminal_info(), child_terminal_init(), child_terminal_ours_1(), child_terminal_save_inferior(), copy_terminal_info(), gdb_save_tty_state(), initialize_stdin_serial(), and set_initial_gdb_ttystate().