diff options
author | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:47 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:47 +0100 |
commit | 41fd2b0f5d958fe3056da5c7af4032b1b99d726f (patch) | |
tree | 0b6cc80673dae6a9d7eadbe3a8422cb175fc437a /gdb/remote.c | |
parent | f38d3ad186f1820596743a04b7394b0749942501 (diff) | |
download | gdb-41fd2b0f5d958fe3056da5c7af4032b1b99d726f.zip gdb-41fd2b0f5d958fe3056da5c7af4032b1b99d726f.tar.gz gdb-41fd2b0f5d958fe3056da5c7af4032b1b99d726f.tar.bz2 |
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.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r-- | gdb/remote.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/gdb/remote.c b/gdb/remote.c index 1f0d67c..501f3c6 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -5924,7 +5924,6 @@ remote_terminal_inferior (struct target_ops *self) can go away. */ if (!remote_async_terminal_ours_p) return; - delete_file_handler (input_fd); remote_async_terminal_ours_p = 0; /* NOTE: At this point we could also register our selves as the recipient of all input. Any characters typed could then be @@ -5937,7 +5936,6 @@ remote_terminal_ours (struct target_ops *self) /* See FIXME in remote_terminal_inferior. */ if (remote_async_terminal_ours_p) return; - add_file_handler (input_fd, stdin_event_handler, 0); remote_async_terminal_ours_p = 1; } |