Re: std::this_thread::yield doesn't work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20 October 2013 20:32, Keith Erickson wrote:
> 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?

Technically you need to rebuild GCC (not the whole toolchain) with
--enable-libstdcxx-time, see
http://stackoverflow.com/a/12961816/981959 for more details.

You shouldn't define the macro in your program as it's an internal
detail of the library, but since it only affects header-only code not
anything compiled into the library, you can get away with defining it.
A cleaner alternative is suggested at
http://stackoverflow.com/a/9140270/981959




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux