| Index: runtime/vm/debugger.cc
|
| diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
|
| index 0b3e26139a114c88b0c5c5638e52481a0dbdaf70..2c4d54bf04c0bd6dbd76796dab0c00c1fefdd77a 100644
|
| --- a/runtime/vm/debugger.cc
|
| +++ b/runtime/vm/debugger.cc
|
| @@ -2515,7 +2515,12 @@ void Debugger::Pause(DebuggerEvent* event) {
|
| pause_event_->UpdateTimestamp();
|
| obj_cache_ = new RemoteObjectCache(64);
|
|
|
| - InvokeEventHandler(event);
|
| + // 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);
|
| + }
|
|
|
| pause_event_ = NULL;
|
| obj_cache_ = NULL; // Zone allocated
|
| @@ -2556,11 +2561,6 @@ 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();
|
| - }
|
| }
|
|
|
|
|
|
|