Nekotekina
|
a808c2aaf6
|
atomic.hpp: optimize internal logic
Move waiter count to highest bits to prevent false futex wakeups.
Test pointer bits properly in notify_all to avoid false wakeups.
|
2019-09-10 19:25:39 +03:00 |
|
Nekotekina
|
aa99faa85d
|
atomic.hpp: add timeout support
|
2019-09-10 19:25:39 +03:00 |
|
Nekotekina
|
1668d6ee1b
|
atomic.hpp: implement wait callback interface
Will be used to wake up threads uniformly.
|
2019-09-10 17:43:04 +03:00 |
|
Nekotekina
|
5bd17a44c9
|
Add fallback implementation for waitable atomics
May improve perf on OSX/BSD
|
2019-08-02 18:37:23 +03:00 |
|
Nekotekina
|
c6993d3f1c
|
Change bits of waitable atomics
Reduce max waiter count to 2^14.
Refactor code to use waiter_mask and signal_mask constants.
|
2019-07-29 21:55:59 +03:00 |
|
Nekotekina
|
e1db6cef6f
|
Remove ignored bits in waitable atomics
It was not implemented correctly.
|
2019-07-29 21:55:59 +03:00 |
|
Nekotekina
|
f63e89f9b4
|
Implement waitable atomics
Moved Atomic.h to util/atomic.hpp
List source files in CMakeLists.txt
|
2019-07-29 03:04:55 +03:00 |
|