65void DartMessageHandler::OnHandleMessage(
DartState* dart_state) {
66 if (isolate_had_fatal_error_) {
73 Dart_Handle result = Dart_Null();
77 if (!handled_first_message()) {
78 set_handled_first_message(
true);
79 if (Dart_ShouldPauseOnStart()) {
81 Dart_SetPausedOnStart(
true);
85 if (Dart_IsPausedOnStart()) {
88 if (Dart_HasServiceMessages()) {
89 bool resume = Dart_HandleServiceMessages();
93 Dart_SetPausedOnStart(
false);
95 result = Dart_HandleMessage();
98 if (!Dart_CurrentIsolate()) {
99 isolate_exited_ =
true;
103 }
else if (Dart_IsPausedOnExit()) {
106 if (Dart_HasServiceMessages()) {
107 bool resume = Dart_HandleServiceMessages();
111 Dart_SetPausedOnExit(
false);
115 result = Dart_HandleMessage();
120 Dart_IsFatalError(result)) {
126 if (!Dart_CurrentIsolate()) {
127 isolate_exited_ =
true;
133 UnhandledError(result);
134 }
else if (!Dart_HasLivePorts()) {
136 if (!Dart_IsPausedOnExit() && Dart_ShouldPauseOnExit()) {
138 Dart_SetPausedOnExit(
true);
140 isolate_exited_ =
true;
const uint8_t uint32_t uint32_t GError ** error