20 #include <semaphore.h>
21 #include <system_error>
24 class Semaphore::SemaphoreImpl {
52 if (errno == EAGAIN) {
64 struct timespec timeout;
65 timeout.tv_sec = seconds.time_since_epoch().count();
66 timeout.tv_nsec = nseconds.count();
70 if (errno == ETIMEDOUT) {
T time_point_cast(T...args)
T system_category(T...args)
bool try_acquire_until(std::chrono::system_clock::time_point abs_time)
SemaphoreImpl(unsigned int i)