aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/record-btrace.c4
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c8cae1c..0e617df 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2021-02-04 Simon Marchi <simon.marchi@efficios.com>
+ * record-btrace.c (record_btrace_handle_async_inferior_event):
+ Don't clear async event handler.
+ (record_btrace_target::wait): Clear async event handler at
+ beginning.
+
+2021-02-04 Simon Marchi <simon.marchi@efficios.com>
+
* remote.c (remote_target::wait): Clear async event handler at
beginning, mark if needed at the end.
(remote_async_inferior_event_handler): Don't set or clear async
diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index ea339b8..ac51ff2 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -325,7 +325,6 @@ record_btrace_auto_disable (void)
static void
record_btrace_handle_async_inferior_event (gdb_client_data data)
{
- clear_async_event_handler (record_btrace_async_inferior_event_handler);
inferior_event_handler (INF_REG_EVENT);
}
@@ -2532,6 +2531,9 @@ record_btrace_target::wait (ptid_t ptid, struct target_waitstatus *status,
std::vector<thread_info *> moving;
std::vector<thread_info *> no_history;
+ /* Clear this, if needed we'll re-mark it below. */
+ clear_async_event_handler (record_btrace_async_inferior_event_handler);
+
DEBUG ("wait %s (0x%x)", target_pid_to_str (ptid).c_str (),
(unsigned) options);