We can add posix semaphore feature: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/semaphore.h.html On Linux, this can be implemented on top of futex-based synchronization. Implementation for this feature can be split into 4 pr: - [x] internal semaphore class, unnamed semaphores lifetime: `sem_init`, `sem_destroy`, `sem_getvalue`; #190851 - [ ] internal named semaphores lifetime: `sem_open`, `sem_close`, `sem_unlink` - [ ] internal blocking wait/post operations: `sem_post`, `sem_wait`, `sem_trywait`, `sem_timedwait`, `sem_clockwait` - [ ] apply `sem_t` class on internal `semaphore`
We can add posix semaphore feature: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/semaphore.h.html
On Linux, this can be implemented on top of futex-based synchronization.
Implementation for this feature can be split into 4 pr:
internal semaphore class, unnamed semaphores lifetime:
sem_init,sem_destroy,sem_getvalue; [libc][semaphore] Add internal unnamed semaphore implementation #190851internal named semaphores lifetime:
sem_open,sem_close,sem_unlinkinternal blocking wait/post operations:
sem_post,sem_wait,sem_trywait,sem_timedwait,sem_clockwaitapply
sem_tclass on internalsemaphore