#include "psem.h"
|
#include <semaphore.h>
|
#include "time_util.h"
|
|
|
|
int psem_timedwait(sem_t *sem, const struct timespec *ts) {
|
struct timespec abs_timeout = TimeUtil::calc_abs_time(ts);
|
return sem_timedwait(sem, &abs_timeout);
|
// int rv ;
|
// while ( (rv = sem_timedwait(sem, &abs_timeout)) == -1) {
|
// if(errno == EINTR)
|
// continue;
|
// else {
|
// // LoggerFactory::getLogger()->error(errno, "LockFreeQueue push_timeout");
|
// return -1;
|
// }
|
// }
|
// return 0;
|
}
|
|
|
int psem_wait(sem_t *sem) {
|
return sem_wait(sem);
|
// int rv;
|
// while ( (rv = sem_wait(sem)) == -1) {
|
// if(errno == EINTR)
|
// continue;
|
// else {
|
// return -1;
|
// }
|
// }
|
// return 0;
|
}
|
|
int psem_trywait(sem_t *sem) {
|
return sem_trywait(sem);
|
}
|
|
int psem_post(sem_t *sem) {
|
return sem_post(sem);
|
}
|