Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(303)

Unified Diff: gdb/inflow.c

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/inflow.h ('k') | gdb/infrun.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/inflow.c
diff --git a/gdb/inflow.c b/gdb/inflow.c
index 711b2aa626d1033a9d3ae1fa6fad5ebb8893b57c..062bf68294748236f003a0de4047314cded2d037 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -1,5 +1,5 @@
/* Low level interface to ptrace, for GDB when running under Unix.
- Copyright (C) 1986-1996, 1998-2012 Free Software Foundation, Inc.
+ Copyright (C) 1986-2013 Free Software Foundation, Inc.
This file is part of GDB.
@@ -26,7 +26,7 @@
#include "gdbthread.h"
#include "observer.h"
-#include "gdb_string.h"
+#include <string.h>
#include <signal.h>
#include <fcntl.h>
#include "gdb_select.h"
@@ -217,19 +217,22 @@ static void terminal_ours_1 (int);
void
terminal_init_inferior_with_pgrp (int pgrp)
{
+ struct inferior *inf = current_inferior ();
+ struct terminal_info *tinfo = get_inflow_inferior_data (inf);
+
+#ifdef PROCESS_GROUP_TYPE
+ /* Store the process group even without a terminal as it is used not
+ only to reset the tty foreground process group, but also to
+ interrupt the inferior. */
+ tinfo->process_group = pgrp;
+#endif
+
if (gdb_has_a_terminal ())
{
- struct inferior *inf = current_inferior ();
- struct terminal_info *tinfo = get_inflow_inferior_data (inf);
-
xfree (tinfo->ttystate);
tinfo->ttystate = serial_copy_tty_state (stdin_serial,
our_terminal_info.ttystate);
-#ifdef PROCESS_GROUP_TYPE
- tinfo->process_group = pgrp;
-#endif
-
/* Make sure that next time we call terminal_inferior (which will be
before the program runs, as it needs to be), we install the new
process group. */
@@ -261,7 +264,7 @@ terminal_init_inferior (void)
(and the non-threaded child_terminal_init_inferior can just pass in
inferior_ptid to the same routine). */
/* We assume INFERIOR_PID is also the child's process group. */
- terminal_init_inferior_with_pgrp (PIDGET (inferior_ptid));
+ terminal_init_inferior_with_pgrp (ptid_get_pid (inferior_ptid));
#endif /* PROCESS_GROUP_TYPE */
}
@@ -484,15 +487,11 @@ static const struct inferior_data *inflow_inferior_data;
static void
inflow_inferior_data_cleanup (struct inferior *inf, void *arg)
{
- struct terminal_info *info;
+ struct terminal_info *info = arg;
- info = inferior_data (inf, inflow_inferior_data);
- if (info != NULL)
- {
- xfree (info->run_terminal);
- xfree (info->ttystate);
- xfree (info);
- }
+ xfree (info->run_terminal);
+ xfree (info->ttystate);
+ xfree (info);
}
/* Get the current svr4 data. If none is found yet, add it now. This
@@ -563,7 +562,7 @@ term_info (char *arg, int from_tty)
}
void
-child_terminal_info (char *args, int from_tty)
+child_terminal_info (const char *args, int from_tty)
{
struct inferior *inf;
struct terminal_info *tinfo;
@@ -766,7 +765,7 @@ static void
pass_signal (int signo)
{
#ifndef _WIN32
- kill (PIDGET (inferior_ptid), SIGINT);
+ kill (ptid_get_pid (inferior_ptid), SIGINT);
#endif
}
@@ -925,5 +924,5 @@ input settings."),
observer_attach_inferior_exit (inflow_inferior_exit);
inflow_inferior_data
- = register_inferior_data_with_cleanup (inflow_inferior_data_cleanup);
+ = register_inferior_data_with_cleanup (NULL, inflow_inferior_data_cleanup);
}
« no previous file with comments | « gdb/inflow.h ('k') | gdb/infrun.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698