| Index: runtime/vm/debugger.cc
 | 
| diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
 | 
| index 2c4d54bf04c0bd6dbd76796dab0c00c1fefdd77a..0b3e26139a114c88b0c5c5638e52481a0dbdaf70 100644
 | 
| --- a/runtime/vm/debugger.cc
 | 
| +++ b/runtime/vm/debugger.cc
 | 
| @@ -2515,12 +2515,7 @@ void Debugger::Pause(DebuggerEvent* event) {
 | 
|    pause_event_->UpdateTimestamp();
 | 
|    obj_cache_ = new RemoteObjectCache(64);
 | 
|  
 | 
| -  // We are about to invoke the debuggers event handler. Disable interrupts
 | 
| -  // for this thread while waiting for debug commands over the service protocol.
 | 
| -  {
 | 
| -    DisableThreadInterruptsScope dtis(Thread::Current());
 | 
| -    InvokeEventHandler(event);
 | 
| -  }
 | 
| +  InvokeEventHandler(event);
 | 
|  
 | 
|    pause_event_ = NULL;
 | 
|    obj_cache_ = NULL;    // Zone allocated
 | 
| @@ -2561,6 +2556,11 @@ void Debugger::HandleSteppingRequest(DebuggerStackTrace* stack_trace) {
 | 
|        }
 | 
|      }
 | 
|    }
 | 
| +  if (!isolate_->single_step()) {
 | 
| +    // We are no longer single stepping, make sure that the ThreadInterrupter
 | 
| +    // is awake.
 | 
| +    ThreadInterrupter::WakeUp();
 | 
| +  }
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |