wangzhengquan
2021-02-26 5f246a2c098b663fa44d87bc5c9ac5c8f74bbcc1
src/psem.h
@@ -7,31 +7,31 @@
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;
  // 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;
}
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;
  // return sem_wait(sem);
  int rv;
  while ( (rv = sem_wait(sem)) == -1) {
      if(errno == EINTR)
          continue;
      else {
         return -1;
      }
  }
  return 0;
}
inline int psem_trywait(sem_t *sem) {