wangzhengquan
2021-02-08 82841486c36288d73e95f3316e91dd7a522d8602
src/psem.h
@@ -2,13 +2,45 @@
#define _PSEM_H_  
#include "usg_common.h"
#include <semaphore.h>
#include "time_util.h"
int psem_wait(sem_t *sem) ;
inline 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_timedwait(sem_t *sem, const struct timespec *ts);
int psem_trywait(sem_t *sem) ;
inline 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_post(sem_t *sem);
inline int psem_trywait(sem_t *sem) {
   return sem_trywait(sem);
}
inline int psem_post(sem_t *sem) {
   return sem_post(sem);
}
#endif