aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog15
-rw-r--r--gdb/async-event.c2
-rw-r--r--gdb/event-top.c3
-rw-r--r--gdb/linux-nat.c3
-rw-r--r--gdb/run-on-main-thread.c3
-rw-r--r--gdb/ser-base.c6
-rw-r--r--gdb/top.c4
-rw-r--r--gdb/top.h3
-rw-r--r--gdb/tui/tui-io.c2
9 files changed, 33 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8788c60..48caf1e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,20 @@
2020-10-02 Simon Marchi <simon.marchi@polymtl.ca>
+ * async-event.c (initialize_async_signal_handlers): Pass name to
+ add_file_handler
+ * event-top.c (ui_register_input_event_handler): Likewise.
+ * linux-nat.c (linux_nat_target::async): Likewise.
+ * run-on-main-thread.c (_initialize_run_on_main_thread):
+ Likewise
+ * ser-base.c (reschedule): Likewise.
+ (ser_base_async): Likewise.
+ * tui/tui-io.c: Likewise.
+ * top.h (struct ui) <num>: New field.
+ * top.c (highest_ui_num): New variable.
+ (ui::ui): Initialize num.
+
+2020-10-02 Simon Marchi <simon.marchi@polymtl.ca>
+
* observable.h <inferior_created>: Remove parameters. Update all
listeners.
* inferior.h (post_create_inferior): Remove target parameter.
diff --git a/gdb/async-event.c b/gdb/async-event.c
index ffc0edc..e5cd63e 100644
--- a/gdb/async-event.c
+++ b/gdb/async-event.c
@@ -114,7 +114,7 @@ initialize_async_signal_handlers (void)
async_signal_handlers_serial_event = make_serial_event ();
add_file_handler (serial_event_fd (async_signal_handlers_serial_event),
- async_signals_handler, NULL);
+ async_signals_handler, NULL, "async-signals");
}
diff --git a/gdb/event-top.c b/gdb/event-top.c
index ac0f370..c96f104 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -524,7 +524,8 @@ stdin_event_handler (int error, gdb_client_data client_data)
void
ui_register_input_event_handler (struct ui *ui)
{
- add_file_handler (ui->input_fd, stdin_event_handler, ui);
+ add_file_handler (ui->input_fd, stdin_event_handler, ui,
+ string_printf ("ui-%d", ui->num));
}
/* See top.h. */
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index fbb5388..7b9b267 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -4123,7 +4123,8 @@ linux_nat_target::async (int enable)
if (!linux_async_pipe (1))
{
add_file_handler (linux_nat_event_pipe[0],
- handle_target_event, NULL);
+ handle_target_event, NULL,
+ "linux-nat");
/* There may be pending events to handle. Tell the event loop
to poll them. */
async_file_mark ();
diff --git a/gdb/run-on-main-thread.c b/gdb/run-on-main-thread.c
index 2cc93e4..1e7bb5f 100644
--- a/gdb/run-on-main-thread.c
+++ b/gdb/run-on-main-thread.c
@@ -94,5 +94,6 @@ void
_initialize_run_on_main_thread ()
{
runnable_event = make_serial_event ();
- add_file_handler (serial_event_fd (runnable_event), run_events, nullptr);
+ add_file_handler (serial_event_fd (runnable_event), run_events, nullptr,
+ "run-on-main-thread");
}
diff --git a/gdb/ser-base.c b/gdb/ser-base.c
index 84ca8c6..cb503f6 100644
--- a/gdb/ser-base.c
+++ b/gdb/ser-base.c
@@ -83,7 +83,7 @@ reschedule (struct serial *scb)
case NOTHING_SCHEDULED:
if (scb->bufcnt == 0)
{
- add_file_handler (scb->fd, fd_event, scb);
+ add_file_handler (scb->fd, fd_event, scb, "serial");
next_state = FD_SCHEDULED;
}
else
@@ -95,7 +95,7 @@ reschedule (struct serial *scb)
if (scb->bufcnt == 0)
{
delete_timer (scb->async_state);
- add_file_handler (scb->fd, fd_event, scb);
+ add_file_handler (scb->fd, fd_event, scb, "serial");
next_state = FD_SCHEDULED;
}
else
@@ -597,7 +597,7 @@ ser_base_async (struct serial *scb,
reschedule (scb);
if (scb->error_fd != -1)
- add_file_handler (scb->error_fd, handle_error_fd, scb);
+ add_file_handler (scb->error_fd, handle_error_fd, scb, "serial-error");
}
else
{
diff --git a/gdb/top.c b/gdb/top.c
index c50fb4d..6233575 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -270,10 +270,14 @@ void (*deprecated_call_command_hook) (struct cmd_list_element * c,
void (*deprecated_context_hook) (int id);
+/* The highest UI number ever assigned. */
+static int highest_ui_num;
+
/* See top.h. */
ui::ui (FILE *instream_, FILE *outstream_, FILE *errstream_)
: next (nullptr),
+ num (++highest_ui_num),
call_readline (nullptr),
input_handler (nullptr),
command_editing (0),
diff --git a/gdb/top.h b/gdb/top.h
index 92b0964..fd99297 100644
--- a/gdb/top.h
+++ b/gdb/top.h
@@ -65,6 +65,9 @@ struct ui
/* Pointer to next in singly-linked list. */
struct ui *next;
+ /* Convenient handle (UI number). Unique across all UIs. */
+ int num;
+
/* The UI's command line buffer. This is to used to accumulate
input until we have a whole command line. */
struct buffer line_buffer;
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index 1a2764e..a4f9317 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -921,7 +921,7 @@ tui_initialize_io (void)
(void) fcntl (tui_readline_pipe[0], F_SETFL, O_NDELAY);
#endif
#endif
- add_file_handler (tui_readline_pipe[0], tui_readline_output, 0);
+ add_file_handler (tui_readline_pipe[0], tui_readline_output, 0, "tui");
#else
tui_rl_outstream = stdout;
#endif