projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't write to inferior_ptid in gnu-nat.c
[deliverable/binutils-gdb.git]
/
gdb
/
inflow.h
diff --git
a/gdb/inflow.h
b/gdb/inflow.h
index 1cbfa71b484471b1d91df752ee897477c5601827..fe8c005be0db2500551e49a5b8606546c914d566 100644
(file)
--- a/
gdb/inflow.h
+++ b/
gdb/inflow.h
@@
-1,12
+1,12
@@
/* Low level interface to ptrace, for GDB when running under Unix.
/* 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
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,
(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
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 <http://www.gnu.org/licenses/>. */
#ifndef INFLOW_H
#define INFLOW_H
#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
-#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
#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
-#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
+};
+
+#endif /* inflow.h */
This page took
0.025115 seconds
and
4
git commands to generate.