[IE][VPU][XLink]: XLink semaphore wrappers impl (#3079)
authorMaksim Doronin <maksim.doronin@intel.com>
Sun, 15 Nov 2020 23:51:46 +0000 (02:51 +0300)
committerGitHub <noreply@github.com>
Sun, 15 Nov 2020 23:51:46 +0000 (02:51 +0300)
commit2a7f2f5eb68b0aefdba0106c3e3185cbbcfc14e0
treecb659cf7db48449a2ac1a007d75d5e0ed5a0f695
parentfec3bc09904fbaf919fb2ab8872d3b115134cda3
[IE][VPU][XLink]: XLink semaphore wrappers impl (#3079)

XLink wrappers for POSIX semaphore functions (refer sem_overview for details). In the description of standard sem_destroy the following is noted:
"Destroying a semaphore that other processes or threads are currently blocked on (in sem_wait(3)) produces undefined behavior."
XLink wrappers use thread-safe reference count and destroy the semaphore only in case if there are no waiters.

* XLink semaphore wrapper impl
* Extend XLink win_synchapi
inference-engine/thirdparty/movidius/XLink/pc/Win/include/win_synchapi.h
inference-engine/thirdparty/movidius/XLink/pc/Win/src/win_synchapi.c
inference-engine/thirdparty/movidius/XLink/shared/include/XLinkPrivateDefines.h
inference-engine/thirdparty/movidius/XLink/shared/include/XLinkSemaphore.h [new file with mode: 0644]
inference-engine/thirdparty/movidius/XLink/shared/include/XLinkStream.h
inference-engine/thirdparty/movidius/XLink/shared/src/XLinkDevice.c
inference-engine/thirdparty/movidius/XLink/shared/src/XLinkDispatcher.c
inference-engine/thirdparty/movidius/XLink/shared/src/XLinkDispatcherImpl.c
inference-engine/thirdparty/movidius/XLink/shared/src/XLinkPrivateFields.c
inference-engine/thirdparty/movidius/XLink/shared/src/XLinkSemaphore.c [new file with mode: 0644]
inference-engine/thirdparty/movidius/XLink/shared/src/XLinkStream.c