wangzhengquan
2021-02-26 5f246a2c098b663fa44d87bc5c9ac5c8f74bbcc1
update
3个文件已修改
45 ■■■■ 已修改文件
src/psem.h 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/socket/shm_socket.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_net_socket/shm_util.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) {
src/socket/shm_socket.cpp
@@ -292,7 +292,7 @@
{
  int rv;
  logger->debug("%d destroy threadlocal socket\n", pthread_self());
  logger->debug("%lu destroy threadlocal socket\n", pthread_self());
  if(tmp_socket == NULL)
    return;
test_net_socket/shm_util.cpp
@@ -881,7 +881,6 @@
    opt =  parse_args(argc, argv);
    if(opt.bind == 0) {
      usage(argv[0]);
      exit(1);
    } else {
      start_recvfrom(opt.bind, opt.force);
    }