aboutsummaryrefslogtreecommitdiff
path: root/gdb/terminal.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-05-19 02:46:45 +0000
committerPedro Alves <palves@redhat.com>2009-05-19 02:46:45 +0000
commit191c4426c1ffa97a8b818c4d4280eb095de811eb (patch)
tree203f7583b1947c4f3066132d534b7fe7f3e604b4 /gdb/terminal.h
parentb523320162a0e6d398ef6ebb000f9badeaa9663a (diff)
downloadgdb-191c4426c1ffa97a8b818c4d4280eb095de811eb.zip
gdb-191c4426c1ffa97a8b818c4d4280eb095de811eb.tar.gz
gdb-191c4426c1ffa97a8b818c4d4280eb095de811eb.tar.bz2
* fork-child.c: Don't include frame.h. Include terminal.h.
(fork_inferior): Call new_tty_postfork after forking adn adding the child to the inferior list. * inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare here. * inflow.c (struct terminal_info): Remove const qualifier from `run_terminal' field. (inferior_thisrun_terminal): Tweak comment. (inflow_inferior_exit): Release the `run_terminal' field. (copy_terminal_info): New function. (new_tty_postfork): New function. * terminal.h (new_tty_prefork, new_tty, new_tty_postfork, (copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare. * inf-ptrace.c: Include terminal.h. (inf_ptrace_follow_fork): Copy the parent's terminal info to the child. * linux-nat.c: Include terminal.h. (linux_child_follow_fork): Copy the parent's terminal info to the child. * inf-ttrace.c: Include terminal.h. (inf_ttrace_follow_fork): Copy the parent's terminal info to the child.
Diffstat (limited to 'gdb/terminal.h')
-rw-r--r--gdb/terminal.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/terminal.h b/gdb/terminal.h
index 37947b3..f6a3e56 100644
--- a/gdb/terminal.h
+++ b/gdb/terminal.h
@@ -76,8 +76,16 @@
#endif /* sgtty */
#endif
+struct inferior;
+
+extern void new_tty_prefork (const char *);
+
extern void new_tty (void);
+extern void new_tty_postfork (void);
+
+extern void copy_terminal_info (struct inferior *to, struct inferior *from);
+
/* Do we have job control? Can be assumed to always be the same within
a given run of GDB. In inflow.c. */
extern int job_control;
@@ -91,4 +99,10 @@ extern int gdb_setpgid (void);
/* Set up a serial structure describing standard input. In inflow.c. */
extern void initialize_stdin_serial (void);
+extern int gdb_has_a_terminal (void);
+
+/* Set the process group of the caller to its own pid, or do nothing
+ if we lack job control. */
+extern int gdb_setpgid (void);
+
#endif /* !defined (TERMINAL_H) */