summaryrefslogtreecommitdiff
path: root/gdb/infcall.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r--gdb/infcall.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 3c33c11d6a3..ab7426d6f3c 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -584,6 +584,8 @@ run_inferior_call (struct call_thread_fsm *sm,
fetch_inferior_event. */
current_ui->async = 0;
+ delete_file_handler (current_ui->input_fd);
+
call_thread->control.in_infcall = 1;
clear_proceed_status (0);
@@ -617,6 +619,10 @@ run_inferior_call (struct call_thread_fsm *sm,
state again here. In other cases, stdin will be re-enabled by
inferior_event_handler, when an exception is thrown. */
current_ui->prompt_state = saved_prompt_state;
+ if (current_ui->prompt_state == PROMPT_BLOCKED)
+ delete_file_handler (current_ui->input_fd);
+ else
+ ui_register_input_event_handler (current_ui);
current_ui->async = saved_ui_async;
/* At this point the current thread may have changed. Refresh