X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Finflow.h;h=fe8c005be0db2500551e49a5b8606546c914d566;hb=975f8708de015fb2b813edbf8b714f4777c57a41;hp=1cbfa71b484471b1d91df752ee897477c5601827;hpb=44270758cd8e51b26d4bf8c58f2d69f27225a71f;p=deliverable%2Fbinutils-gdb.git
diff --git a/gdb/inflow.h b/gdb/inflow.h
index 1cbfa71b48..fe8c005be0 100644
--- a/gdb/inflow.h
+++ b/gdb/inflow.h
@@ -1,12 +1,12 @@
/* Low level interface to ptrace, for GDB when running under Unix.
- Copyright 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003-2020 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -15,37 +15,42 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see . */
#ifndef INFLOW_H
#define INFLOW_H
-#include "terminal.h" /* For HAVE_TERMIOS et.al. */
+#include
+#include
+#include "gdbsupport/job-control.h"
-#ifdef HAVE_TERMIOS
-#define PROCESS_GROUP_TYPE pid_t
-#endif
+/* RAII class used to ignore SIGTTOU in a scope. */
-#ifdef HAVE_TERMIO
-#define PROCESS_GROUP_TYPE int
+class scoped_ignore_sigttou
+{
+public:
+ scoped_ignore_sigttou ()
+ {
+#ifdef SIGTTOU
+ if (job_control)
+ m_osigttou = signal (SIGTTOU, SIG_IGN);
#endif
+ }
-#ifdef HAVE_SGTTY
-#ifdef SHORT_PGRP
-/* This is only used for the ultra. Does it have pid_t? */
-#define PROCESS_GROUP_TYPE short
-#else
-#define PROCESS_GROUP_TYPE int
+ ~scoped_ignore_sigttou ()
+ {
+#ifdef SIGTTOU
+ if (job_control)
+ signal (SIGTTOU, m_osigttou);
#endif
-#endif /* sgtty */
+ }
-#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;
-#endif
+ DISABLE_COPY_AND_ASSIGN (scoped_ignore_sigttou);
+private:
+#ifdef SIGTTOU
+ sighandler_t m_osigttou = NULL;
#endif
+};
+
+#endif /* inflow.h */