You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
async_rw_mutex has been moved to a public header: pika/async_rw_mutex.hpp. The functionality is still experimental in the pika::execution::experimental namespace. async_rw_mutex_access_type and async_rw_mutex_access_wrapper have also been moved out of the detail namespace. (#655)
Breaking changes
The any_sender and unique_any_senderoperator bool(), which can be used to check whether the sender contains a valid sender, is now explicit to avoid accidental conversions. (#653)
Scheduler idling was disabled by default. This typically improves performance. If performance is less important than resource usage idling may be beneficial to enable explicitly. (#661)
The CMake option PIKA_WITH_THREAD_CUMULATIVE_COUNTS was disabled by default. This often improves performance. (#662)
Thread guard pages were disabled by default. This often improves performance. They can still be enabled at runtime with the configuration option pika.stacks.use_guard_pages=1 to debug e.g. stack overflows. (#663)
The fast_idle and delay_exit scheduler modes were completely removed as they added overhead and were not used in any meaningful way in the scheduler. (#664)
The ability to run background threads in the scheduler was completely removed. (#665, #668)
Bugfixes
Fixed an inconsistent preprocessor guard that affected Apple M1 and M2 systems. (#657)
Fixed preprocessor guards to enable deadlock detection in debug builds. The deadlock detection was never enabled previously. (#658)
Thread deadlock detection will now correctly print potentially deadlocked threads. (#659)