aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/record-full.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0e617df..c73a8cd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2021-02-04 Simon Marchi <simon.marchi@efficios.com>
+ * record-full.c (record_full_async_inferior_event_handler):
+ Don't clear async event handler.
+ (record_full_base_target::wait): Clear async event handler at
+ beginning.
+
+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
diff --git a/gdb/record-full.c b/gdb/record-full.c
index 247573c..2373741 100644
--- a/gdb/record-full.c
+++ b/gdb/record-full.c
@@ -903,7 +903,6 @@ static struct async_event_handler *record_full_async_inferior_event_token;
static void
record_full_async_inferior_event_handler (gdb_client_data data)
{
- clear_async_event_handler (record_full_async_inferior_event_token);
inferior_event_handler (INF_REG_EVENT);
}
@@ -1454,6 +1453,8 @@ record_full_base_target::wait (ptid_t ptid, struct target_waitstatus *status,
{
ptid_t return_ptid;
+ clear_async_event_handler (record_full_async_inferior_event_token);
+
return_ptid = record_full_wait_1 (this, ptid, status, options);
if (status->kind != TARGET_WAITKIND_IGNORE)
{