From 5f90f337319a30ec06fd5c02049c434779f48054 Mon Sep 17 00:00:00 2001 From: Polina Brzezinskaya Date: Fri, 25 Jun 2021 13:16:59 +0300 Subject: [PATCH] [IE][VPU]: changed calling of sem_timedwait() to account for EINTR error code (#6213) changed calling of sem_timedwait() to account for EINTR error code, so it would be restarted. --- .../thirdparty/movidius/XLink/shared/src/XLinkSemaphore.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/inference-engine/thirdparty/movidius/XLink/shared/src/XLinkSemaphore.c b/inference-engine/thirdparty/movidius/XLink/shared/src/XLinkSemaphore.c index aacb399633b..24b6555c369 100644 --- a/inference-engine/thirdparty/movidius/XLink/shared/src/XLinkSemaphore.c +++ b/inference-engine/thirdparty/movidius/XLink/shared/src/XLinkSemaphore.c @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // +#include #include "XLinkSemaphore.h" #include "XLinkErrorUtils.h" #include "XLinkLog.h" @@ -104,7 +105,9 @@ int XLink_sem_timedwait(XLink_sem_t* sem, const struct timespec* abstime) XLINK_RET_ERR_IF(abstime == NULL, -1); XLINK_RET_IF_FAIL(XLink_sem_inc(sem)); - int ret = sem_timedwait(&sem->psem, abstime); + int ret; + while(((ret = sem_timedwait(&sem->psem, abstime)) == -1) && errno == EINTR) + continue; XLINK_RET_IF_FAIL(XLink_sem_dec(sem)); return ret;