From 766d29a7d626ee74943efcd6352b6a864f4e48e2 Mon Sep 17 00:00:00 2001 From: Jonathan Chambers Date: Thu, 29 Apr 2021 21:06:53 -0400 Subject: [PATCH] Allow threads to be re-attached --- mono/mini/debugger-agent.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c index 8a4237737b7e..b04acca86a7f 100644 --- a/mono/mini/debugger-agent.c +++ b/mono/mini/debugger-agent.c @@ -4222,8 +4222,11 @@ thread_startup (MonoProfiler *prof, uintptr_t tid) } tls = (DebuggerTlsData *)mono_native_tls_get_value (debugger_tls_id); - g_assert (!tls); - // FIXME: Free this somewhere + if (tls) { + if (!tls->terminated) + MONO_GC_UNREGISTER_ROOT (tls->thread); + g_free (tls); + } tls = g_new0 (DebuggerTlsData, 1); MONO_GC_REGISTER_ROOT_SINGLE (tls->thread, MONO_ROOT_SOURCE_DEBUGGER, NULL, "Debugger Thread Reference"); tls->thread = thread;