diff options
author | Andrew Burgess <aburgess@redhat.com> | 2021-11-24 11:15:55 +0000 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2021-11-25 09:54:58 +0000 |
commit | 0c1e6e265b276542ccb3f392c3070c3dd9339303 (patch) | |
tree | 3b45413e28d99ab95b068db30e0365c6c9ebc5ad /gdb/target.c | |
parent | eec685f8a6e1a654bb82b0f20134689861589866 (diff) | |
download | gdb-0c1e6e265b276542ccb3f392c3070c3dd9339303.zip gdb-0c1e6e265b276542ccb3f392c3070c3dd9339303.tar.gz gdb-0c1e6e265b276542ccb3f392c3070c3dd9339303.tar.bz2 |
gdb: introduce a new overload of target_can_async_p
There are a few places where we call the target_ops::can_async_p
member function directly, instead of using the target_can_async_p
wrapper.
In some of these places this is because we need to ask before the
target has been pushed, and in another location (in target.c) it seems
unnecessary to go through the wrapper when we are already in target.c
code.
However, in the next commit I'd like to hoist some common checks out
of target specific code into target.c. To achieve this, in this
commit, I introduce a new overload of target_can_async_p which takes a
target_ops pointer, and calls the ::can_async_p method directly. I
then make use of the new overload where appropriate.
There should be no user visible changes after this commit.
Diffstat (limited to 'gdb/target.c')
-rw-r--r-- | gdb/target.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gdb/target.c b/gdb/target.c index 8fe27c7..970e2a7 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -391,7 +391,15 @@ target_can_lock_scheduler () bool target_can_async_p () { - return current_inferior ()->top_target ()->can_async_p (); + return target_can_async_p (current_inferior ()->top_target ()); +} + +/* See target.h. */ + +bool +target_can_async_p (struct target_ops *target) +{ + return target->can_async_p (); } /* See target.h. */ @@ -2602,7 +2610,7 @@ target_wait (ptid_t ptid, struct target_waitstatus *status, gdb_assert (!proc_target->commit_resumed_state); - if (!target->can_async_p ()) + if (!target_can_async_p (target)) gdb_assert ((options & TARGET_WNOHANG) == 0); return target->wait (ptid, status, options); |