File tree Expand file tree Collapse file tree 1 file changed +11
-16
lines changed Expand file tree Collapse file tree 1 file changed +11
-16
lines changed Original file line number Diff line number Diff line change @@ -944,23 +944,18 @@ bool IsolateGroupReloadContext::Reload(bool force_reload,
944
944
success = false ;
945
945
}
946
946
947
- // Once we --enable-isolate-groups in JIT again, we have to ensure unwind
948
- // errors will be propagated to all isolates.
949
- if (result.IsUnwindError ()) {
950
- const auto & error = Error::Cast (result);
951
- if (thread->top_exit_frame_info () == 0 ) {
952
- // We can only propagate errors when there are Dart frames on the stack.
953
- // In this case there are no Dart frames on the stack and we set the
954
- // thread's sticky error. This error will be returned to the message
955
- // handler.
956
- thread->set_sticky_error (error);
957
- } else {
958
- // If the tag handler returns with an UnwindError error, propagate it and
959
- // give up.
960
- Exceptions::PropagateError (error);
961
- UNREACHABLE ();
947
+ // Re-queue any shutdown requests so they can inform each isolate's own thread
948
+ // to shut down.
949
+ isolateIndex = 0 ;
950
+ ForEachIsolate ([&](Isolate* isolate) {
951
+ tmp = results.At (isolateIndex);
952
+ if (tmp.IsUnwindError ()) {
953
+ Isolate::KillIfExists (isolate, UnwindError::Cast (tmp).is_user_initiated ()
954
+ ? Isolate::kKillMsg
955
+ : Isolate::kInternalKillMsg );
962
956
}
963
- }
957
+ isolateIndex++;
958
+ });
964
959
965
960
return success;
966
961
}
You can’t perform that action at this time.
0 commit comments