aboutsummaryrefslogtreecommitdiff
path: root/gdb/event-top.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/event-top.c')
-rw-r--r--gdb/event-top.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/event-top.c b/gdb/event-top.c
index eb4f0b9..a119fe9 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -403,6 +403,15 @@ stdin_event_handler (int error, gdb_client_data client_data)
}
else
{
+ /* This makes sure a ^C immediately followed by further input is
+ always processed in that order. E.g,. with input like
+ "^Cprint 1\n", the SIGINT handler runs, marks the async signal
+ handler, and then select/poll may return with stdin ready,
+ instead of -1/EINTR. The
+ gdb.base/double-prompt-target-event-error.exp test exercises
+ this. */
+ QUIT;
+
do
{
call_stdin_event_handler_again_p = 0;