From 27d8bc7cad4a8f68c2da3efbb77f45ec70ae40e6 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期三, 05 一月 2022 14:11:39 +0800 Subject: [PATCH] pb.go MsgQueryProcReply add subLocalTopics and subNetTopics --- src/psem.h | 42 +++++++++++++++++++++--------------------- 1 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/psem.h b/src/psem.h index fb64dba..41b76e6 100644 --- a/src/psem.h +++ b/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) { -- Gitblit v1.8.0