diff options
author | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:46 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:46 +0100 |
commit | 7c36c34e4c5c9438f17373a72773d741a17dc7b3 (patch) | |
tree | 1bb740078dd6809f3555c0dd0b3d918a357a93c2 /gdb/event-loop.c | |
parent | 73ab01a07dfef77a9d845be2ef87754435eeffa1 (diff) | |
download | gdb-7c36c34e4c5c9438f17373a72773d741a17dc7b3.zip gdb-7c36c34e4c5c9438f17373a72773d741a17dc7b3.tar.gz gdb-7c36c34e4c5c9438f17373a72773d741a17dc7b3.tar.bz2 |
Always run async signal handlers in the main UI
Async signal handlers have no connection to whichever was the current
UI, and thus always run on the main one.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-loop.c: Include top.h.
(invoke_async_signal_handlers): Switch to the main UI.
* event-top.c (main_ui_): Update comment.
(main_ui): New global.
* top.h (main_ui): Declare.
Diffstat (limited to 'gdb/event-loop.c')
-rw-r--r-- | gdb/event-loop.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/event-loop.c b/gdb/event-loop.c index 60ef2a5..fe28305 100644 --- a/gdb/event-loop.c +++ b/gdb/event-loop.c @@ -35,6 +35,7 @@ #include "gdb_sys_time.h" #include "gdb_select.h" #include "observer.h" +#include "top.h" /* Tell create_file_handler what events we are interested in. This is used by the select version of the event loop. */ @@ -967,6 +968,9 @@ invoke_async_signal_handlers (void) break; any_ready = 1; async_handler_ptr->ready = 0; + /* Async signal handlers have no connection to whichever was the + current UI, and thus always run on the main one. */ + current_ui = main_ui; (*async_handler_ptr->proc) (async_handler_ptr->client_data); } |