Home | History | Annotate | Line # | Download | only in gdbsupport
      1  1.1.1.3  christos /* Copyright (C) 2016-2024 Free Software Foundation, Inc.
      2      1.1  christos 
      3      1.1  christos    This file is part of GDB.
      4      1.1  christos 
      5      1.1  christos    This program is free software; you can redistribute it and/or modify
      6      1.1  christos    it under the terms of the GNU General Public License as published by
      7      1.1  christos    the Free Software Foundation; either version 3 of the License, or
      8      1.1  christos    (at your option) any later version.
      9      1.1  christos 
     10      1.1  christos    This program is distributed in the hope that it will be useful,
     11      1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12      1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13      1.1  christos    GNU General Public License for more details.
     14      1.1  christos 
     15      1.1  christos    You should have received a copy of the GNU General Public License
     16      1.1  christos    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     17      1.1  christos 
     18  1.1.1.4  christos #ifndef GDBSUPPORT_SIGNALS_STATE_SAVE_RESTORE_H
     19  1.1.1.4  christos #define GDBSUPPORT_SIGNALS_STATE_SAVE_RESTORE_H
     20      1.1  christos 
     21      1.1  christos /* Save/restore the signal actions of all signals, and the signal
     22      1.1  christos    mask.
     23      1.1  christos 
     24      1.1  christos    Since the exec family of functions does not reset the signal
     25      1.1  christos    disposition of signals set to SIG_IGN, nor does it reset the signal
     26      1.1  christos    mask, in order to be transparent, when spawning new child processes
     27      1.1  christos    to debug (with "run", etc.), we must reset signal actions and mask
     28      1.1  christos    back to what was originally inherited from gdb/gdbserver's parent,
     29      1.1  christos    just before execing the target program to debug.  */
     30      1.1  christos 
     31      1.1  christos /* Save the signal state of all signals.  If !QUIET, warn if we detect
     32      1.1  christos    a custom signal handler preinstalled.  */
     33      1.1  christos 
     34      1.1  christos extern void save_original_signals_state (bool quiet);
     35      1.1  christos 
     36      1.1  christos /* Restore the signal state of all signals.  */
     37      1.1  christos 
     38      1.1  christos extern void restore_original_signals_state (void);
     39      1.1  christos 
     40  1.1.1.4  christos #endif /* GDBSUPPORT_SIGNALS_STATE_SAVE_RESTORE_H */
     41