diff options
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/record-btrace.c | 4 |
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); |