[VM] Fix for issue 34839 - Dart_Cleanup may hang while shutting down
     the service isolate.

     The service isolate request for shutdown uses a Dart level message
     for exiting the isolate, this shuts down the isolate but does not
     completely bring the isolate down if there are some open ports. We
     have a timer isolate started in the VM isolate and if the shutdown
     happens soon enough this port is still open.

Change-Id: Icfa07c91b8692eb76ba8502063cf6f5cf04832a5
Reviewed-on: https://dart-review.googlesource.com/c/81200
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
diff --git a/runtime/lib/vmservice.cc b/runtime/lib/vmservice.cc
index 76d5fc9..c682868 100644
--- a/runtime/lib/vmservice.cc
+++ b/runtime/lib/vmservice.cc
@@ -140,6 +140,7 @@
     OS::PrintErr("vm-service: live ports = %" Pd "\n",
                  message_handler->live_ports());
   }
+  Isolate::KillIfExists(isolate, Isolate::kInternalKillMsg);
   return Object::null();
 }