From 7b0a6b50cbedb30bd243a836e2b223806f4fc072 Mon Sep 17 00:00:00 2001 From: "D.S. Qiu" Date: Thu, 2 Dec 2021 08:54:58 +0800 Subject: [PATCH] Fix mono debugger thread block when wait for attach (#62175) * wait_for_attach change to gc safe mode * change MONO_REQ_GC_SAFE_MODE to MONO_REQ_GC_UNSAFE_MODE --- src/mono/mono/component/debugger-agent.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mono/mono/component/debugger-agent.c b/src/mono/mono/component/debugger-agent.c index 2cfd24d..98a51b3 100644 --- a/src/mono/mono/component/debugger-agent.c +++ b/src/mono/mono/component/debugger-agent.c @@ -10022,7 +10022,7 @@ cmd_to_string (CommandSet set, int command) static gboolean wait_for_attach (void) { - MONO_REQ_GC_SAFE_MODE; + MONO_REQ_GC_UNSAFE_MODE; #ifndef DISABLE_SOCKET_TRANSPORT if (listen_fd == -1) { @@ -10031,8 +10031,10 @@ wait_for_attach (void) } /* Block and wait for client connection */ + MONO_ENTER_GC_SAFE; conn_fd = socket_transport_accept (listen_fd); - + MONO_EXIT_GC_SAFE; + PRINT_DEBUG_MSG (1, "Accepted connection on %d\n", conn_fd); if (conn_fd == -1) { PRINT_DEBUG_MSG (1, "[dbg] Bad client connection\n"); -- 2.7.4