X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftarget.c;h=d580983c4fa6b4ded042fe63799fa3c1176aae8c;hb=93692b589dc7017d5a2fbdffdfad5f84f597d8f1;hp=ac66a3a8993407219dddfa59318df78b5d83cd39;hpb=e42de8c7f8e7326d284f8b53f3bd6971fbf6e7b7;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/target.c b/gdb/target.c index ac66a3a899..d580983c4f 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -491,6 +491,11 @@ target_terminal_inferior (void) inferior's terminal modes. */ (*current_target.to_terminal_inferior) (¤t_target); terminal_state = terminal_is_inferior; + + /* If the user hit C-c before, pretend that it was hit right + here. */ + if (check_quit_flag ()) + target_pass_ctrlc (); } /* See target.h. */ @@ -3359,6 +3364,22 @@ target_interrupt (ptid_t ptid) /* See target.h. */ +void +target_pass_ctrlc (void) +{ + (*current_target.to_pass_ctrlc) (¤t_target); +} + +/* See target.h. */ + +void +default_target_pass_ctrlc (struct target_ops *ops) +{ + target_interrupt (inferior_ptid); +} + +/* See target.h. */ + void target_check_pending_interrupt (void) {