summaryrefslogtreecommitdiffstats
path: root/osi/src/semaphore.c
diff options
context:
space:
mode:
Diffstat (limited to 'osi/src/semaphore.c')
-rw-r--r--osi/src/semaphore.c6
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;
}