diff options
Diffstat (limited to 'externals/microprofile')
| -rw-r--r-- | externals/microprofile/microprofile.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/externals/microprofile/microprofile.h b/externals/microprofile/microprofile.h index 5c381f002..a06f6457d 100644 --- a/externals/microprofile/microprofile.h +++ b/externals/microprofile/microprofile.h | |||
| @@ -948,7 +948,11 @@ typedef HANDLE MicroProfileThread; | |||
| 948 | DWORD _stdcall ThreadTrampoline(void* pFunc) | 948 | DWORD _stdcall ThreadTrampoline(void* pFunc) |
| 949 | { | 949 | { |
| 950 | MicroProfileThreadFunc F = (MicroProfileThreadFunc)pFunc; | 950 | MicroProfileThreadFunc F = (MicroProfileThreadFunc)pFunc; |
| 951 | return (DWORD)F(0); | 951 | |
| 952 | // The return value of F will always return a void*, however, this is for | ||
| 953 | // compatibility with pthreads. The underlying "address" of the pointer | ||
| 954 | // is always a 32-bit value, so this cast is safe to perform. | ||
| 955 | return static_cast<DWORD>(reinterpret_cast<uint64_t>(F(0))); | ||
| 952 | } | 956 | } |
| 953 | 957 | ||
| 954 | inline void MicroProfileThreadStart(MicroProfileThread* pThread, MicroProfileThreadFunc Func) | 958 | inline void MicroProfileThreadStart(MicroProfileThread* pThread, MicroProfileThreadFunc Func) |