Make input_fd be per UI
And with that, we can switch the current UI to the UI whose input descriptor woke up the event loop. IOW, if the user types in UI 2, the event loop wakes up, switches to UI 2, and processes the input. Next the user types in UI 3, the event loop wakes up and switches to UI 3, etc. gdb/ChangeLog: 2016-06-21 Pedro Alves <palves@redhat.com> * event-top.c (input_fd): Delete. (stdin_event_handler): Switch to the UI whose input descriptor got the event. Adjust to per-UI input_fd. (gdb_setup_readline): Don't set the input_fd global. Adjust to per-UI input_fd. (gdb_disable_readline): Adjust to per-UI input_fd. * event-top.h (input_fd): Delete declaration. * linux-nat.c (linux_nat_terminal_inferior): Don't remove input_fd from the event-loop here. (linux_nat_terminal_ours): Don't register input_fd in the event-loop here. * main.c (captured_main): Adjust to per-UI input_fd. * remote.c (remote_terminal_inferior): Don't remove input_fd from the event-loop here. (remote_terminal_ours): Don't register input_fd in the event-loop here. * target.c: Include top.h and event-top.h. (target_terminal_inferior): Remove input_fd from the event-loop here. (target_terminal_ours): Register input_fd in the event-loop. * top.h (struct ui) <input_fd>: New field.
This commit is contained in:
parent
f38d3ad186
commit
41fd2b0f5d
8 changed files with 59 additions and 24 deletions
|
@ -508,6 +508,7 @@ captured_main (void *data)
|
|||
|
||||
saved_command_line = (char *) xstrdup ("");
|
||||
ui->instream = stdin;
|
||||
ui->input_fd = fileno (stdin);
|
||||
|
||||
#ifdef __MINGW32__
|
||||
/* Ensure stderr is unbuffered. A Cygwin pty or pipe is implemented
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue