diff --git a/src/basics/basics/utilities/UbSystem.h b/src/basics/basics/utilities/UbSystem.h index 8382e3722762d5a5823a2d8e7a257ce7a0cfd1a6..ddaf6a31d6d90c7a90b12c3eb48fb05242fe79ac 100644 --- a/src/basics/basics/utilities/UbSystem.h +++ b/src/basics/basics/utilities/UbSystem.h @@ -395,14 +395,14 @@ namespace UbSystem /*==========================================================*/ inline unsigned long getCurrentThreadID() { - #if defined UBSYSTEM_WINDOWS + #if defined UBSYSTEM_WINDOWS || defined(UBSYSTEM_CYGWIN) return (unsigned long)GetCurrentThreadId(); - #elif (defined(UBSYSTEM_LINUX) || defined(UBSYSTEM_APPLE)) && !defined(UBSYSTEM_CYGWIN) + #elif defined(UBSYSTEM_APPLE) uint64_t tid; pthread_threadid_np(nullptr, &tid); return (unsigned long)tid; - #elif defined(UBSYSTEM_CYGWIN) - return (unsigned long)GetCurrentThreadId(); + #elif defined(UBSYSTEM_LINUX) + return (unsigned long)syscall(SYS_gettid); #elif defined(UBSYSTEM_AIX) return (unsigned long) getpid(); //WORKAROUND for IBM (for get thread id is another function necessary) #else