aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Flynn <jim.flynn@arm.com>2020-07-16 11:23:45 +0100
committerJim Flynn <jim.flynn@arm.com>2020-07-16 11:23:45 +0100
commit82262f58f0b880073ff46a4e63c7bb7b17aaaa95 (patch)
tree3b74576984262bae0b78c7ba39ce5cf7df3f9d27
parentaa41f363a68d5dbc841093de702c88ff70f1c260 (diff)
downloadarmnn-82262f58f0b880073ff46a4e63c7bb7b17aaaa95.tar.gz
IVGCVSW-5104 Fix OS-X GetCurrentThreadId build error
Change-Id: Ic54b8d387d8507209e8777d25dcd2c4bc1641bf4 Signed-off-by: Jim Flynn <jim.flynn@arm.com>
-rw-r--r--cmake/GlobalConfig.cmake4
-rw-r--r--src/armnnUtils/Threads.cpp13
2 files changed, 16 insertions, 1 deletions
diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
index 60b6a3dae6..142e536912 100644
--- a/cmake/GlobalConfig.cmake
+++ b/cmake/GlobalConfig.cmake
@@ -37,7 +37,9 @@ option(BUILD_PYTHON_SRC "Build Python source package" OFF)
include(SelectLibraryConfigurations)
set(COMPILER_IS_GNU_LIKE 0)
-if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU OR ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang)
+if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU OR
+ ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR
+ ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
set(COMPILER_IS_GNU_LIKE 1)
endif()
diff --git a/src/armnnUtils/Threads.cpp b/src/armnnUtils/Threads.cpp
index 561edcb8b7..0ca1adf0c3 100644
--- a/src/armnnUtils/Threads.cpp
+++ b/src/armnnUtils/Threads.cpp
@@ -11,6 +11,11 @@
#define gettid() syscall(SYS_gettid)
#elif defined(_MSC_VER)
#include "WindowsWrapper.hpp"
+#elif defined(__APPLE__)
+#include "AvailabilityMacros.h"
+#include <sys/syscall.h>
+#include <sys/time.h>
+#include <unistd.h>
#endif
namespace armnnUtils
@@ -24,6 +29,14 @@ int GetCurrentThreadId()
return static_cast<int>(gettid());
#elif defined(_MSC_VER)
return ::GetCurrentThreadId();
+#elif defined(__APPLE__)
+ uint64_t threadId;
+ int iRet = pthread_threadid_np(NULL, &threadId);
+ if (iRet != 0)
+ {
+ return 0;
+ }
+ return threadId;
#endif
}