Destroy transaction tracing from main thread

Fixes: 304996860
Test: presubmit
Change-Id: I3b11570fdb3ea5ba42124f23667be0dfd7d8af11
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index e08690a..358aab9 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -7060,7 +7060,7 @@
                 if (mTransactionTracing) {
                     int arg = data.readInt32();
                     if (arg == -1) {
-                        mTransactionTracing.reset();
+                        mScheduler->schedule([&]() { mTransactionTracing.reset(); }).get();
                     } else if (arg > 0) {
                         // Transaction tracing is always running but allow the user to temporarily
                         // increase the buffer when actively debugging.