#include "px_sem_util.h" struct timespec PXSemUtil::calc_sem_timeout(const struct timespec *ts) { int tmp_sec; struct timespec timeout; if (clock_gettime(CLOCK_REALTIME, &timeout) == -1) err_exit(errno, "clock_gettime"); timeout.tv_nsec += ts->tv_nsec; tmp_sec = timeout.tv_nsec / 10e9; timeout.tv_nsec = timeout.tv_nsec - tmp_sec * 10e9; timeout.tv_sec += ts->tv_sec + tmp_sec; return timeout; }