summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vm/eventpipe.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vm/eventpipe.cpp b/src/vm/eventpipe.cpp
index dea3b1e493..0458be8854 100644
--- a/src/vm/eventpipe.cpp
+++ b/src/vm/eventpipe.cpp
@@ -259,6 +259,11 @@ void EventPipe::Shutdown()
EX_CATCH {}
EX_END_CATCH(SwallowAllExceptions);
+ // Remove EventPipeEventSource first since it tries to use the data structures that we remove below.
+ // We need to do this after disabling sessions since those try to write to EventPipeEventSource.
+ delete s_pEventSource;
+ s_pEventSource = nullptr;
+
EventPipeConfiguration *pConfig = s_pConfig;
EventPipeSessions *pSessions = s_pSessions;
@@ -271,8 +276,6 @@ void EventPipe::Shutdown()
// Free resources.
delete pConfig;
delete pSessions;
- delete s_pEventSource;
- s_pEventSource = nullptr;
}
EventPipeSessionID EventPipe::Enable(