Version 2.4 Features: + Support for futex(FUTEX_WAIT/FUTEX_WAKE) + Linux/Darwin performance improved (2.5x for Linux, 7x for Darwin) Fixes: + Fixed a bunch of issues with WaitForMultipleObjects()/SignalObjectAndWait() + Fixed rare spurious memory leak reports related to test progress reporting Version 2.3 Features: + Support for FlushProcessWriteBuffers() Version 2.2 Features: + Support for pthread_mutex_timedlock() + Support for ETIMEDOUT, EINTR in pthread_cond_timedwait()/pthread_cond_wait() + rl::hash_ptr(p, sz) function which provides deterministic hashing of pointers Fixes: + Win32 mutex is now recursive + Compilation issue on MSVC x64 when RL_DEBUGBREAK_ON_ASSERT/RL_DEBUGBREAK_ON_FAILURE defined + Fixed OOM crash when execution history is very large + Fixed rare crash during iteration count estimation in context bound scheduler + Fixed bug in pthread_rwlock/SRWLOCK that at most 2 readers may acquire it simultaneously + Fixed bug regarding false race detection when simulation runs for very long time (int overflow)