waybar/include/util
Aleksei Bavshin 5da268077c
fix(util): protect std::condition_variable methods from pthread_cancel
The changes in GCC 11.x made `std::condition_variable` implementation
internals `noexcept`. `noexcept` is known to interact particularly bad
with `pthread_cancel`, i.e. `__cxxabiv1::__force_unwind` passing through
the `noexcept` call stack frame causes a `std::terminate` call and
immediate termination of the program

Digging through the GCC ML archives[1] lead me to the idea of patching
this with a few pthread_setcancelstate's. As bad as the solution is, it
seems to be the best we can do within C++17 limits and without major
rework.

[1]: https://gcc.gnu.org/legacy-ml/gcc/2017-08/msg00156.html
2021-06-12 12:56:44 -07:00
..
clara.hpp feat: args && class id 2018-12-18 17:30:54 +01:00
command.hpp Terminate custom module scripts on exit 2021-02-12 21:14:46 +01:00
format.hpp Revert "Replace lowercase "k" with uppercase "K" to make it look more consistent" 2020-12-25 09:28:05 +01:00
json.hpp refactor: try/catch, sigc trackable 2019-05-13 15:15:50 +02:00
rfkill.hpp refactor(rfkill): poll rfkill events from Glib main loop 2021-02-09 21:27:19 -08:00
sleeper_thread.hpp fix(util): protect std::condition_variable methods from pthread_cancel 2021-06-12 12:56:44 -07:00
ustring_clen.hpp Use g_unichar_iswide to properly align calendar on CJK locales 2021-01-31 11:53:53 -08:00