From 9b024422cd669a5259d46826ff98dbb373f5585b Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 29 Oct 2015 13:33:03 +0100 Subject: [PATCH 1/2] Revert "src: fix stuck debugger process" This reverts commit ff877e93e16971ab8514772bd8d112e240b74803. Reverted for breaking `node --debug-brk -e 0`. It should immediately quit but instead it hangs now. PR-URL: https://github.com/nodejs/node/pull/3585 Reviewed-By: Evan Lucas Reviewed-By: James M Snell --- src/node.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/node.cc b/src/node.cc index d6ba87d72fd23e..892a76b63ed2e3 100644 --- a/src/node.cc +++ b/src/node.cc @@ -3747,6 +3747,7 @@ 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() @@ -4054,11 +4055,8 @@ 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); From 810cc05116b39963b25c87fd17be32a6bb867eb0 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 29 Oct 2015 13:39:56 +0100 Subject: [PATCH 2/2] test: add regression test for --debug-brk -e 0 Check that `node --debug-brk -e 0` immediately quits. PR-URL: https://github.com/nodejs/node/pull/3585 Reviewed-By: Evan Lucas Reviewed-By: James M Snell --- test/parallel/test-debug-brk.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 test/parallel/test-debug-brk.js diff --git a/test/parallel/test-debug-brk.js b/test/parallel/test-debug-brk.js new file mode 100644 index 00000000000000..49b19898e030b9 --- /dev/null +++ b/test/parallel/test-debug-brk.js @@ -0,0 +1,9 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const spawnSync = require('child_process').spawnSync; + +const args = [`--debug-brk=${common.PORT}`, `-e`, `0`]; +const proc = spawnSync(process.execPath, args, {encoding: 'utf8'}); +assert(/Debugger listening on/.test(proc.stderr));