diff options
-rw-r--r-- | gdb/darwin-nat.c | 4 | ||||
-rw-r--r-- | gdb/inflow.c | 6 | ||||
-rw-r--r-- | gdb/remote-sim.c | 23 | ||||
-rw-r--r-- | gdb/windows-nat.c | 4 |
4 files changed, 14 insertions, 23 deletions
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c index 7a862cd..e98ac6c 100644 --- a/gdb/darwin-nat.c +++ b/gdb/darwin-nat.c @@ -83,7 +83,7 @@ #define PTRACE(CMD, PID, ADDR, SIG) \ darwin_ptrace(#CMD, CMD, (PID), (ADDR), (SIG)) -static void darwin_interrupt (struct target_ops *self, ptid_t); +static void darwin_interrupt (struct target_ops *self); static void darwin_resume_to (struct target_ops *ops, ptid_t ptid, int step, enum gdb_signal signal); @@ -1342,7 +1342,7 @@ darwin_wait_to (struct target_ops *ops, } static void -darwin_interrupt (struct target_ops *self, ptid_t t) +darwin_interrupt (struct target_ops *self) { struct inferior *inf = current_inferior (); darwin_inferior *priv = get_darwin_inferior (inf); diff --git a/gdb/inflow.c b/gdb/inflow.c index 7c5e904..d971543 100644 --- a/gdb/inflow.c +++ b/gdb/inflow.c @@ -469,7 +469,9 @@ child_terminal_save_inferior (struct target_ops *self) xfree (tinfo->ttystate); tinfo->ttystate = serial_get_tty_state (stdin_serial); +#ifdef HAVE_TERMIOS_H tinfo->process_group = tcgetpgrp (0); +#endif #ifdef F_GETFL tinfo->tflags = fcntl (0, F_GETFL, 0); @@ -563,7 +565,9 @@ child_interrupt (struct target_ops *self) either Ctrl-C or with kill(3) with negative PID) sends a SIGINT to each process in the process group, and we may not be debugging all processes in the process group. */ +#ifndef _WIN32 kill (resumed->inf->pid, SIGINT); +#endif } } @@ -606,7 +610,9 @@ child_pass_ctrlc (struct target_ops *self) { gdb_assert (inf->pid != 0); +#ifndef _WIN32 kill (inf->pid, SIGINT); +#endif return; } } diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c index aed7a34..2f8fb68 100644 --- a/gdb/remote-sim.c +++ b/gdb/remote-sim.c @@ -86,7 +86,7 @@ static void gdbsim_files_info (struct target_ops *target); static void gdbsim_mourn_inferior (struct target_ops *target); -static void gdbsim_interrupt (struct target_ops *self, ptid_t ptid); +static void gdbsim_interrupt (struct target_ops *self); void simulator_command (char *args, int from_tty); @@ -920,24 +920,9 @@ gdbsim_interrupt_inferior (struct inferior *inf, void *arg) } static void -gdbsim_interrupt (struct target_ops *self, ptid_t ptid) +gdbsim_interrupt (struct target_ops *self) { - struct sim_inferior_data *sim_data; - - if (ptid_equal (ptid, minus_one_ptid)) - { - iterate_over_inferiors (gdbsim_interrupt_inferior, NULL); - } - else - { - struct inferior *inf = find_inferior_ptid (ptid); - - if (inf == NULL) - error (_("Can't stop pid %d. No inferior found."), - ptid_get_pid (ptid)); - - gdbsim_interrupt_inferior (inf, NULL); - } + iterate_over_inferiors (gdbsim_interrupt_inferior, NULL); } /* GDB version of os_poll_quit callback. @@ -961,7 +946,7 @@ gdb_os_poll_quit (host_callback *p) static void gdbsim_cntrl_c (int signo) { - gdbsim_interrupt (NULL, minus_one_ptid); + gdbsim_interrupt (NULL); } static ptid_t diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 5fb143e..f849f1f 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -201,7 +201,7 @@ typedef enum #define DEBUG_MEM(x) if (debug_memory) printf_unfiltered x #define DEBUG_EXCEPT(x) if (debug_exceptions) printf_unfiltered x -static void windows_interrupt (struct target_ops *self, ptid_t); +static void windows_interrupt (struct target_ops *self); static int windows_thread_alive (struct target_ops *, ptid_t); static void windows_kill_inferior (struct target_ops *); @@ -2777,7 +2777,7 @@ windows_mourn_inferior (struct target_ops *ops) ^C on the controlling terminal. */ static void -windows_interrupt (struct target_ops *self, ptid_t ptid) +windows_interrupt (struct target_ops *self) { DEBUG_EVENTS (("gdb: GenerateConsoleCtrlEvent (CTRLC_EVENT, 0)\n")); CHECK (GenerateConsoleCtrlEvent (CTRL_C_EVENT, current_event.dwProcessId)); |