gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / inflow.h
index 1352361697e26f5345211669affb5554d2011c8f..fe8c005be0db2500551e49a5b8606546c914d566 100644 (file)
@@ -1,6 +1,6 @@
 /* Low level interface to ptrace, for GDB when running under Unix.
 
-   Copyright (C) 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef INFLOW_H
 #define INFLOW_H
 
-#include "terminal.h"          /* For HAVE_TERMIOS et.al.  */
+#include <unistd.h>
+#include <signal.h>
+#include "gdbsupport/job-control.h"
 
-#ifdef HAVE_TERMIOS
-# define PROCESS_GROUP_TYPE pid_t
-#elif defined (HAVE_TERMIO) || defined (HAVE_SGTTY)
-# define PROCESS_GROUP_TYPE int
+/* 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);
 
-#ifdef PROCESS_GROUP_TYPE
-/* Process group for us and the inferior.  Saved and restored just like
-   {our,inferior}_ttystate.  */
-extern PROCESS_GROUP_TYPE our_process_group;
-extern PROCESS_GROUP_TYPE inferior_process_group;
+private:
+#ifdef SIGTTOU
+  sighandler_t m_osigttou = NULL;
 #endif
+};
 
 #endif /* inflow.h */
This page took 0.026473 seconds and 4 git commands to generate.