// // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "Threads.hpp" #if defined(__linux__) #include #include #define gettid() syscall(SYS_gettid) #elif defined(_MSC_VER) #include #elif defined(__APPLE__) #include "AvailabilityMacros.h" #include #include #include #endif namespace armnnUtils { namespace Threads { int GetCurrentThreadId() { #if defined(__linux__) return static_cast(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 } } }