inf-ptrace: Add an event_pipe to be used for async mode in subclasses.
authorJohn Baldwin <jhb@FreeBSD.org>
Tue, 22 Feb 2022 19:22:14 +0000 (11:22 -0800)
committerJohn Baldwin <jhb@FreeBSD.org>
Tue, 22 Feb 2022 19:22:14 +0000 (11:22 -0800)
commitb146ba14d7019e046f5691ffbffa1d852b798c72
tree864815823848712c9bd97a6503e5f34772e6b446
parente05523bd2411bac0277da73556f4d01f6c7448aa
inf-ptrace: Add an event_pipe to be used for async mode in subclasses.

Subclasses of inf_ptrace_target have to opt-in to using the event_pipe
by implementing the can_async_p and async methods.  For subclasses
which do this, inf_ptrace_target provides is_async_p, async_wait_fd
and closes the pipe in the close target method.

inf_ptrace_target also provides wrapper routines around the event pipe
(async_file_open, async_file_close, async_file_flush, and
async_file_mark) for use in target methods such as async.
inf_ptrace_target also exports a static async_file_mark_if_open
function which can be used in SIGCHLD signal handlers.
gdb/fbsd-nat.c
gdb/fbsd-nat.h
gdb/inf-ptrace.c
gdb/inf-ptrace.h
gdb/linux-nat.c
gdb/linux-nat.h