Browse Source

inspector: fix inspector hang while disconnecting

If user make some actions during (e.g. stepOver native call)
that requests program break and disconnect DevTools frontend then
AgentImpl won't be disconnected until other message from frontend.

The root of issue:
1. Inspector requests program break.
2. User requests disconnect (e.g. refresh page with DevTools frontend).
3. On program break V8Inspector call runMessageLoopOnPause on
V8NodeInspector.
4. Message loop will wait until next message from frontend.
5. After message Agent will be disconnected.
We can dispatch all pending message on step 3 to solve a problem.

PR-URL: https://github.com/nodejs/node/pull/8021
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
v7.x
Aleksei Koziatinskii 8 years ago
committed by Ali Ijaz Sheikh
parent
commit
f7a23a2d04
  1. 1
      src/inspector_agent.cc

1
src/inspector_agent.cc

@ -305,6 +305,7 @@ class V8NodeInspector : public blink::V8InspectorClient {
return;
terminated_ = false;
running_nested_loop_ = true;
agent_->DispatchMessages();
do {
{
Mutex::ScopedLock scoped_lock(agent_->pause_lock_);

Loading…
Cancel
Save