This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Did we consider raising this issue in the glibc mailing lists? Now that the project is managed in a different, more open, way, maybe we can make progress, I don't think things are set in stone and, if nothing else, the C++11 library needs appear to require some changes in this area. Then, I'm certainly in favor of any strategy improving our configury, like supporting more features by default when we know it's safe, etc.We need to do something about the fact that this_thread::yield() and this_thread::sleep_for() are only defined when GCC is built with --enable-libstdcxx-time, which most users and distros don't do.
Currently the option defaults to no, which means we don't even try to use clock_gettime, nanosleep and sched_yield even though they may be available. The reason is that some or all of those calls are defined in librt, but on GNU/Linux if libstdc++.so links to librt.so then it also links to libpthread.so and so __gthread_active_p() will always return true, causing additional locking in single-threaded apps.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |