IVGCVSW-5104 Fix OS-X GetCurrentThreadId build error
authorJim Flynn <jim.flynn@arm.com>
Thu, 16 Jul 2020 10:23:45 +0000 (11:23 +0100)
committerJim Flynn <jim.flynn@arm.com>
Thu, 16 Jul 2020 10:23:45 +0000 (11:23 +0100)
Change-Id: Ic54b8d387d8507209e8777d25dcd2c4bc1641bf4
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
cmake/GlobalConfig.cmake
src/armnnUtils/Threads.cpp

index 60b6a3d..142e536 100644 (file)
@@ -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()
 
index 561edcb..0ca1adf 100644 (file)
 #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
 }