diff options
Diffstat (limited to 'osi/src/semaphore.c')
-rw-r--r-- | osi/src/semaphore.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/osi/src/semaphore.c b/osi/src/semaphore.c index 5ee992649..76fba0d55 100644 --- a/osi/src/semaphore.c +++ b/osi/src/semaphore.c @@ -73,12 +73,12 @@ bool semaphore_try_wait(semaphore_t *semaphore) { assert(semaphore != NULL); assert(semaphore->fd != INVALID_FD); - int flags = fcntl(semaphore->fd, F_GETFL); + int flags = TEMP_FAILURE_RETRY(fcntl(semaphore->fd, F_GETFL)); if (flags == -1) { LOG_ERROR("%s unable to get flags for semaphore fd: %s", __func__, strerror(errno)); return false; } - if (fcntl(semaphore->fd, F_SETFL, flags | O_NONBLOCK) == -1) { + if (TEMP_FAILURE_RETRY(fcntl(semaphore->fd, F_SETFL, flags | O_NONBLOCK)) == -1) { LOG_ERROR("%s unable to set O_NONBLOCK for semaphore fd: %s", __func__, strerror(errno)); return false; } @@ -87,7 +87,7 @@ bool semaphore_try_wait(semaphore_t *semaphore) { if (eventfd_read(semaphore->fd, &value) == -1) return false; - if (fcntl(semaphore->fd, F_SETFL, flags) == -1) + if (TEMP_FAILURE_RETRY(fcntl(semaphore->fd, F_SETFL, flags)) == -1) LOG_ERROR("%s unable to resetore flags for semaphore fd: %s", __func__, strerror(errno)); return true; } |