gdb: give names to event loop file handlers
authorSimon Marchi <simon.marchi@polymtl.ca>
Fri, 2 Oct 2020 18:45:52 +0000 (14:45 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Fri, 2 Oct 2020 18:46:56 +0000 (14:46 -0400)
commit2554f6f564097e4e3a4132d3af8ef78d588d13d1
tree296af2f219dd484543ed7b43156cf347e4f6de36
parenta7aba2668a7b392182e296392d8e19516e1a6ec5
gdb: give names to event loop file handlers

Assign names to event loop file handlers.  They will be used in debug
messages when file handlers are invoked.

In GDB, each UI used to get its own unique number, until commit
cbe256847e19 ("Remove ui::num").  Re-introduce this field, and use it to
make a unique name for the handler.

I'm not too sure what goes on in ser-base.c, all I know is that it's
what is used when debugging remotely.  I've just named the main handler
"serial".  It would be good to have unique names there too.  For instance
when debugging with two different remote connections, we'd ideally want
the handlers to have unique names.  I didn't do it in this patch though.

gdb/ChangeLog:

* 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.

gdbserver/ChangeLog:

* linux-low.cc (linux_process_target::async): Pass name to
add_file_handler.
* remote-utils.cc (handle_accept_event): Likewise.
(remote_open): Likewise.

gdbsupport/ChangeLog:

* event-loop.h (add_file_handler): Add "name" parameter.
* event-loop.cc (struct file_handler) <name>: New field.
(create_file_handler): Add "name" parameter, assign it to file
handler.
(add_file_handler): Add "name" parameter.

Change-Id: I9f1545f73888ebb6778eb653a618ca44d105f92c
15 files changed:
gdb/ChangeLog
gdb/async-event.c
gdb/event-top.c
gdb/linux-nat.c
gdb/run-on-main-thread.c
gdb/ser-base.c
gdb/top.c
gdb/top.h
gdb/tui/tui-io.c
gdbserver/ChangeLog
gdbserver/linux-low.cc
gdbserver/remote-utils.cc
gdbsupport/ChangeLog
gdbsupport/event-loop.cc
gdbsupport/event-loop.h