* linux-nat.c (linux_nat_terminal_inferior)

(linux_nat_terminal_ours): Don't check sync_execution.
	* remote.c (remote_terminal_inferior, remote_terminal_ours):
	Don't check sync_execution.  Update comments.
	* target.c (target_terminal_inferior): New.
	* target.h (target_terminal_inferior): Delete macro, and declare
	as function.
	* event-top.c (async_disable_stdin): Make idempotent.  Don't give
	the target the terminal here.
	* inflow.c (terminal_ours_1): Don't return early without setting
	`terminal_is_ours'.
This commit is contained in:
Pedro Alves 2009-05-21 16:00:14 +00:00
parent 47608cb1ac
commit d9d2d8b6c0
7 changed files with 41 additions and 38 deletions

View file

@ -361,6 +361,8 @@ terminal_ours_1 (int output_only)
if (terminal_is_ours)
return;
terminal_is_ours = 1;
/* Checking inferior->run_terminal is necessary so that
if GDB is running in the background, it won't block trying
to do the ioctl()'s below. Checking gdb_has_a_terminal
@ -371,7 +373,6 @@ terminal_ours_1 (int output_only)
if (inf->terminal_info->run_terminal != NULL || gdb_has_a_terminal () == 0)
return;
if (!terminal_is_ours)
{
#ifdef SIGTTOU
/* Ignore this signal since it will happen when we try to set the
@ -380,8 +381,6 @@ terminal_ours_1 (int output_only)
#endif
int result;
terminal_is_ours = 1;
#ifdef SIGTTOU
if (job_control)
osigttou = (void (*)()) signal (SIGTTOU, SIG_IGN);