Skip to content

Commit

Permalink
inspector: fix inspector hang while disconnecting
Browse files Browse the repository at this point in the history
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: nodejs#8021
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
  • Loading branch information
alexkozy authored and ofrobots committed Aug 23, 2016
1 parent 286d44e commit f7a23a2
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/inspector_agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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_);
Expand Down

0 comments on commit f7a23a2

Please sign in to comment.