| Index: runtime/bin/process.cc
|
| diff --git a/runtime/bin/process.cc b/runtime/bin/process.cc
|
| index d7dd894636294bb87338b7590a32a6e67e2b623c..69a02c6d5f941c311de92ede5573e66925cb7278 100644
|
| --- a/runtime/bin/process.cc
|
| +++ b/runtime/bin/process.cc
|
| @@ -9,7 +9,7 @@
|
| #include "bin/socket.h"
|
|
|
| #include "include/dart_api.h"
|
| -
|
| +#include "include/dart_native_api.h"
|
|
|
| namespace dart {
|
| namespace bin {
|
| @@ -208,6 +208,9 @@ void FUNCTION_NAME(Process_Exit)(Dart_NativeArguments args) {
|
| int64_t status = 0;
|
| // Ignore result if passing invalid argument and just exit 0.
|
| DartUtils::GetInt64Value(Dart_GetNativeArgument(args, 0), &status);
|
| + // On Windows we must shut down the thread interrupter before exiting,
|
| + // otherwise we may end up with a suspended thread and hung process.
|
| + Dart_ShutdownThreadInterrupter();
|
| // Be sure to do platform-specific cleanups.
|
| Platform::Cleanup();
|
| exit(static_cast<int>(status));
|
|
|