diff --git a/src/common/thread.h b/src/common/thread.h index 64d8478d9..84c247cae 100644 --- a/src/common/thread.h +++ b/src/common/thread.h @@ -4,7 +4,7 @@ #ifdef FF_HAVE_THREADS #if defined(_WIN32) - #include + #include "common/windows/nt.h" #include #include #include @@ -41,6 +41,9 @@ static inline bool ffThreadJoin(FFThreadType thread, uint32_t timeout) { } NtClose(thread); return true; +} +static inline uintptr_t ffThreadGetCurrentId() { + return (uintptr_t) ffGetTeb()->ClientId.UniqueThread; } #else #include @@ -104,6 +107,9 @@ static inline bool ffThreadJoin(FFThreadType thread, FF_A_UNUSED uint32_t timeou #endif pthread_join(thread, NULL); return true; +} +static inline uintptr_t ffThreadGetCurrentId() { + return (uintptr_t) pthread_self(); } #endif #else // FF_HAVE_THREADS