diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/vm/eventpipe.cpp | 7 |
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( |