X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Finflow.h;h=fe8c005be0db2500551e49a5b8606546c914d566;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=16a78eee0264880ed6cbff1f5d3ce6ab6a778535;hpb=e671cd59d74cec9f53e110ce887128d1eeadb7f2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/inflow.h b/gdb/inflow.h index 16a78eee02..fe8c005be0 100644 --- a/gdb/inflow.h +++ b/gdb/inflow.h @@ -1,6 +1,6 @@ /* Low level interface to ptrace, for GDB when running under Unix. - Copyright (C) 2003-2018 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -21,5 +21,36 @@ #define INFLOW_H #include +#include +#include "gdbsupport/job-control.h" + +/* RAII class used to ignore SIGTTOU in a scope. */ + +class scoped_ignore_sigttou +{ +public: + scoped_ignore_sigttou () + { +#ifdef SIGTTOU + if (job_control) + m_osigttou = signal (SIGTTOU, SIG_IGN); +#endif + } + + ~scoped_ignore_sigttou () + { +#ifdef SIGTTOU + if (job_control) + signal (SIGTTOU, m_osigttou); +#endif + } + + DISABLE_COPY_AND_ASSIGN (scoped_ignore_sigttou); + +private: +#ifdef SIGTTOU + sighandler_t m_osigttou = NULL; +#endif +}; #endif /* inflow.h */