From c9c39ac14db0cfe5224bbb150eb979e4701236af Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Mon, 14 Oct 2013 11:44:13 +1100 Subject: [PATCH] Give correct return code in cgsem_mswait --- util.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util.c b/util.c index 4c53df29..8235b1c0 100644 --- a/util.c +++ b/util.c @@ -2472,9 +2472,12 @@ int _cgsem_mswait(cgsem_t *cgsem, int ms, const char *file, const char *func, co timeraddspec(&abs_timeout, &ts_now); ret = sem_timedwait(cgsem, &abs_timeout); - if (unlikely(ret && !sock_timeout())) + if (ret) { + if (likely(sock_timeout())) + return ETIMEDOUT; quitfrom(1, file, func, line, "Failed to sem_timedwait errno=%d cgsem=0x%p", errno, cgsem); - return ret; + } + return 0; } void _cgsem_destroy(cgsem_t *cgsem)