Browse Source

src: fix stuck debugger process

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.

PR-URL: https://github.com/nodejs/node/pull/2778
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
v5.x
Liang-Chi Hsieh 10 years ago
committed by Ben Noordhuis
parent
commit
ff877e93e1
  1. 6
      src/node.cc

6
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<uv_handle_t*>(&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<uv_handle_t*>(&dispatch_debug_messages_async));
}
{
SealHandleScope seal(isolate);

Loading…
Cancel
Save