debugger: use v8 api to wait for a connection

Use v8::Debug::EnableAgent(_, _, true) to wait for incoming
debugger-client connection before emitting any break (or other) events.

This commit should fix test/simple/test-debugger-repl faults.
pull/24503/head
Fedor Indutny 2012-03-28 01:37:54 +07:00
parent 698e795a5f
commit 5e8c2b0768
1 changed files with 3 additions and 9 deletions

View File

@ -2390,15 +2390,9 @@ static void EnableDebug(bool wait_connect) {
node_isolate->Enter();
// Start the debug thread and it's associated TCP server on port 5858.
bool r = v8::Debug::EnableAgent("node " NODE_VERSION, debug_port);
if (wait_connect) {
// Set up an empty handler so v8 will not continue until a debugger
// attaches. This is the same behavior as Debug::EnableAgent(_,_,true)
// except we don't break at the beginning of the script.
// see Debugger::StartAgent in debug.cc of v8/src
v8::Debug::SetMessageHandler2(node::DebugBreakMessageHandler);
}
bool r = v8::Debug::EnableAgent("node " NODE_VERSION,
debug_port,
wait_connect);
// Crappy check that everything went well. FIXME
assert(r);