Calling std::this_thread::yield on g++ 4.8.1 doesn't actually result in a call to the underlying pthread_yield or linux sched_yield. I eventually found this to be related to a define: _GLIBCXX_USE_SCHED_YIELD. How do I get that set, though? Is it something I can define inside my program, or do I really have to go and recompile the whole toolchain just to be able to use a basic concurrency function?