diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index f8f728481ea..fbb60a398b0 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -4088,9 +4088,11 @@ linux_nat_target::is_async_p () bool linux_nat_target::can_async_p () { - /* We're always async, unless the user explicitly prevented it with the - "maint set target-async" command. */ - return target_async_permitted; + /* This flag should be checked in the common target.c code. */ + gdb_assert (target_async_permitted); + + /* Otherwise, this targets is always able to support async mode. */ + return true; } bool diff --git a/gdb/remote.c b/gdb/remote.c index 724386e0916..6ecea5b7fd7 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -14379,14 +14379,11 @@ remote_target::thread_info_to_thread_handle (struct thread_info *tp) bool remote_target::can_async_p () { + /* This flag should be checked in the common target.c code. */ + gdb_assert (target_async_permitted); + + /* We're async whenever the serial device can. */ struct remote_state *rs = get_remote_state (); - - /* We don't go async if the user has explicitly prevented it with the - "maint set target-async" command. */ - if (!target_async_permitted) - return false; - - /* We're async whenever the serial device is. */ return serial_can_async_p (rs->remote_desc); } diff --git a/gdb/target.c b/gdb/target.c index 970e2a784b5..db1abcc325e 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -399,6 +399,8 @@ target_can_async_p () bool target_can_async_p (struct target_ops *target) { + if (!target_async_permitted) + return false; return target->can_async_p (); }