From 66029bfedaf5e207989128bf8efef3a39e3b423a Mon Sep 17 00:00:00 2001 From: Liang-Chi Hsieh Date: Thu, 10 Sep 2015 00:41:15 +0800 Subject: [PATCH] src: fixing debug process stuck The debug process running "node debug a.js" will be stuck when the script ends. This is because the debug handler has been unrefed. We shouldn't unref the debug handler to avoid this problem. --- src/node.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/node.cc b/src/node.cc index e5a87e711bd84b..91e8c169741b89 100644 --- a/src/node.cc +++ b/src/node.cc @@ -3652,7 +3652,6 @@ void Init(int* argc, uv_async_init(uv_default_loop(), &dispatch_debug_messages_async, DispatchDebugMessagesAsyncCallback); - uv_unref(reinterpret_cast(&dispatch_debug_messages_async)); #if defined(NODE_V8_OPTIONS) // Should come before the call to V8::SetFlagsFromCommandLine() @@ -3959,8 +3958,11 @@ static void StartNodeInstance(void* arg) { env->set_trace_sync_io(trace_sync_io); // Enable debugger - if (instance_data->use_debug_agent()) + if (instance_data->use_debug_agent()) { EnableDebug(env); + } else { + uv_unref(reinterpret_cast(&dispatch_debug_messages_async)); + } { SealHandleScope seal(isolate);