| Index: runtime/vm/thread_interrupter.cc
|
| diff --git a/runtime/vm/thread_interrupter.cc b/runtime/vm/thread_interrupter.cc
|
| index 23e6c22fc4df17365db199763c694b035edc0769..776a2ac1d820dc4683efaca142a06058be6eb061 100644
|
| --- a/runtime/vm/thread_interrupter.cc
|
| +++ b/runtime/vm/thread_interrupter.cc
|
| @@ -101,24 +101,12 @@ void ThreadInterrupter::Shutdown() {
|
| OS::Print("ThreadInterrupter shutting down.\n");
|
| }
|
| }
|
| -#if defined(TARGET_OS_WINDOWS)
|
| - // On Windows, a thread's exit-code can leak into the process's exit-code,
|
| - // if exiting 'at same time' as the process ends. By joining with the thread
|
| - // here, we avoid this race condition.
|
| +
|
| + // Join the thread.
|
| ASSERT(interrupter_thread_id_ != OSThread::kInvalidThreadId);
|
| OSThread::Join(interrupter_thread_id_);
|
| interrupter_thread_id_ = OSThread::kInvalidThreadId;
|
| -#else
|
| - // On non-Windows platforms, just wait for the thread interrupter to signal
|
| - // that it has exited the loop.
|
| - {
|
| - MonitorLocker shutdown_ml(monitor_);
|
| - while (thread_running_) {
|
| - // Wait for thread to exit.
|
| - shutdown_ml.Wait();
|
| - }
|
| - }
|
| -#endif
|
| +
|
| if (FLAG_trace_thread_interrupter) {
|
| OS::Print("ThreadInterrupter shut down.\n");
|
| }
|
|
|