diff options
author | Pedro Alves <palves@redhat.com> | 2009-05-19 02:46:45 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-05-19 02:46:45 +0000 |
commit | 191c4426c1ffa97a8b818c4d4280eb095de811eb (patch) | |
tree | 203f7583b1947c4f3066132d534b7fe7f3e604b4 /gdb/terminal.h | |
parent | b523320162a0e6d398ef6ebb000f9badeaa9663a (diff) | |
download | gdb-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.h | 14 |
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) */ |