| Index: src/debug.cc
|
| diff --git a/src/debug.cc b/src/debug.cc
|
| index 34fd168ab5946710c7540b86c710f80a09093e15..a4cce055db78a0cf86c8ec452e97ed5794480883 100644
|
| --- a/src/debug.cc
|
| +++ b/src/debug.cc
|
| @@ -2541,6 +2541,8 @@ MaybeHandle<Object> Debug::MakeJSObject(const char* constructor_name,
|
| isolate_, isolate_->global_object(), constructor_name).ToHandleChecked();
|
| ASSERT(constructor->IsJSFunction());
|
| if (!constructor->IsJSFunction()) return MaybeHandle<Object>();
|
| + // We do not handle interrupts here. In particular, termination interrupts.
|
| + PostponeInterruptsScope no_interrupts(isolate_);
|
| return Execution::TryCall(Handle<JSFunction>::cast(constructor),
|
| Handle<JSObject>(debug_context()->global_object()),
|
| argc,
|
| @@ -2852,6 +2854,9 @@ void Debug::NotifyMessageHandler(v8::DebugEvent event,
|
| Handle<JSObject> exec_state,
|
| Handle<JSObject> event_data,
|
| bool auto_continue) {
|
| + // Prevent other interrupts from triggering, for example API callbacks,
|
| + // while dispatching message handler callbacks.
|
| + PostponeInterruptsScope no_interrupts(isolate_);
|
| ASSERT(is_active_);
|
| HandleScope scope(isolate_);
|
| // Process the individual events.
|
|
|