Use sched_yield on all POSIX platforms in PlatformThread.

(not only MacOS)

This is a test to see if perf regressions we're seeing may be related to the use of nanosleep().

BUG=695438
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2716683002 .
Cr-Commit-Position: refs/heads/master@{#16807}
This commit is contained in:
Tommi 2017-02-23 20:23:19 +01:00
parent f1b351852b
commit 384498abb5

View File

@ -221,9 +221,6 @@ void PlatformThread::Run() {
return;
}
// TODO(tommi): Delete the below.
#if !defined(WEBRTC_MAC) && !defined(WEBRTC_WIN)
const struct timespec ts_null = {0};
#endif
do {
// The interface contract of Start/Stop is that for a successful call to
// Start, there should be at least one call to the run function. So we
@ -235,11 +232,7 @@ void PlatformThread::Run() {
SleepEx(0, true);
} while (!stop_);
#else
#if defined(WEBRTC_MAC)
sched_yield();
#else
nanosleep(&ts_null, nullptr);
#endif
} while (!AtomicOps::AcquireLoad(&stop_flag_));
#endif // defined(WEBRTC_WIN)
}