From 340e92403fbfa3e1bea6d415d1f1647d33d1fea6 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Mon, 21 Aug 2023 16:01:35 -0700 Subject: [PATCH] libsysprof: stop streams at end of recording Don't wait for disposal to stop this recording. --- src/libsysprof/sysprof-scheduler-details.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/libsysprof/sysprof-scheduler-details.c b/src/libsysprof/sysprof-scheduler-details.c index 5c0f4427..317e74d2 100644 --- a/src/libsysprof/sysprof-scheduler-details.c +++ b/src/libsysprof/sysprof-scheduler-details.c @@ -322,6 +322,16 @@ sysprof_scheduler_details_record_fiber (gpointer user_data) dex_await (dex_ref (self->cancellable), NULL); self->ended_at = SYSPROF_CAPTURE_CURRENT_TIME; + for (guint i = 0; i < self->streams->len; i++) + { + SysprofPerfEventStream *stream = g_ptr_array_index (self->streams, i); + + sysprof_perf_event_stream_disable (stream, NULL); + } + + if (self->streams->len) + g_ptr_array_remove_range (self->streams, 0, self->streams->len); + return dex_future_new_for_boolean (TRUE); }