From 0473b1dc03b045cda5869a7f43885243f233863b Mon Sep 17 00:00:00 2001 From: tommi Date: Thu, 2 Mar 2017 08:08:59 -0800 Subject: [PATCH] Go back to only using sched_yield on Mac (sigh) Using sched_yield on Linux seems to be causing RestartingSendStreamPreservesRtpStatesWithRtx/0 to never complete. BUG=webrtc:7187 TBR=solenberg@webrtc.org Review-Url: https://codereview.webrtc.org/2732443002 Cr-Commit-Position: refs/heads/master@{#16975} --- webrtc/base/platform_thread.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/webrtc/base/platform_thread.cc b/webrtc/base/platform_thread.cc index afacfdca2d..b17c30105a 100644 --- a/webrtc/base/platform_thread.cc +++ b/webrtc/base/platform_thread.cc @@ -261,13 +261,11 @@ void PlatformThread::Run() { SleepEx(0, true); } while (!stop_); #else -#if defined(UNDEFINED_SANITIZER) || defined(WEBRTC_ANDROID) - // UBSAN and Android don't like |sched_yield()| that much. +#if defined(WEBRTC_MAC) + sched_yield(); +#else static const struct timespec ts_null = {0}; nanosleep(&ts_null, nullptr); -#else // !(defined(UNDEFINED_SANITIZER) || defined(WEBRTC_ANDROID)) - // Mac and Linux show better performance with sched_yield. - sched_yield(); #endif } while (!AtomicOps::AcquireLoad(&stop_flag_)); #endif // defined(WEBRTC_WIN)