[WorkerWakeupSemaphore] add three possible implementations
LockedSemaphore is the already existening Semaphore using a mutex and a condition variable. PosixMutex is a thin wrapper around a POSIX semaphore. SpuriousFutexSemaphore is a atomic/futex based implementation prune to spurious wakeups which is fine for the worker wakeup usecase.
Showing
- .gitlab-ci.yml 18 additions, 0 deletions.gitlab-ci.yml
- emper/Runtime.cpp 0 additions, 7 deletionsemper/Runtime.cpp
- emper/Runtime.hpp 10 additions, 11 deletionsemper/Runtime.hpp
- emper/lib/sync/LockedSemaphore.hpp 44 additions, 0 deletionsemper/lib/sync/LockedSemaphore.hpp
- emper/lib/sync/PosixSemaphore.hpp 50 additions, 0 deletionsemper/lib/sync/PosixSemaphore.hpp
- emper/lib/sync/Semaphore.hpp 2 additions, 31 deletionsemper/lib/sync/Semaphore.hpp
- emper/lib/sync/SpuriousFutexSemaphore.hpp 68 additions, 0 deletionsemper/lib/sync/SpuriousFutexSemaphore.hpp
- emper/lib/sync/WorkerWakeupSemaphore.hpp 30 additions, 0 deletionsemper/lib/sync/WorkerWakeupSemaphore.hpp
- meson.build 4 additions, 1 deletionmeson.build
- meson_options.txt 11 additions, 0 deletionsmeson_options.txt
Loading
Please register or sign in to comment