- Timestamp:
- Jul 29, 2021 9:29:10 PM (3 years ago)
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r90416 r90417 3183 3183 generic/RTLogWriteStdOut-stub-generic.cpp \ 3184 3184 generic/RTMpGetCoreCount-generic.cpp \ 3185 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \3186 3185 generic/RTTimerCreate-generic.cpp \ 3187 3186 generic/mppresent-generic-online.cpp \ -
trunk/src/VBox/Runtime/r0drv/nt/initterm-r0drv-nt.cpp
r82968 r90417 112 112 /** MmUnsecureVirtualMemory - Introduced in NT 3.51. */ 113 113 decltype(MmUnsecureVirtualMemory) *g_pfnrtMmUnsecureVirtualMemory; 114 /** PsIsThreadTerminating - Introduced in NT 3.50. */ 115 decltype(PsIsThreadTerminating) *g_pfnrtPsIsThreadTerminating; 114 116 /** RtlGetVersion, introduced in ??. */ 115 117 PFNRTRTLGETVERSION g_pfnrtRtlGetVersion; -
trunk/src/VBox/Runtime/r0drv/nt/internal-r0drv-nt.h
r86175 r90417 96 96 extern decltype(MmSecureVirtualMemory) *g_pfnrtMmSecureVirtualMemory; 97 97 extern decltype(MmUnsecureVirtualMemory) *g_pfnrtMmUnsecureVirtualMemory; 98 extern decltype(PsIsThreadTerminating) *g_pfnrtPsIsThreadTerminating; 98 99 99 100 extern PFNRTRTLGETVERSION g_pfnrtRtlGetVersion; -
trunk/src/VBox/Runtime/r0drv/nt/thread-r0drv-nt.cpp
r82968 r90417 37 37 #endif 38 38 #include <iprt/assert.h> 39 #include <iprt/err core.h>39 #include <iprt/err.h> 40 40 #include <iprt/mp.h> 41 41 #include "internal-r0drv-nt.h" … … 227 227 } 228 228 229 230 RTDECL(int) RTThreadQueryTerminationStatus(RTTHREAD hThread) 231 { 232 AssertReturn(hThread == NIL_RTTHREAD, VERR_INVALID_HANDLE); 233 if (RT_LIKELY(g_pfnrtPsIsThreadTerminating)) 234 { 235 BOOLEAN fRc = g_pfnrtPsIsThreadTerminating(PsGetCurrentThread()); 236 return !fRc ? VINF_SUCCESS : VINF_THREAD_IS_TERMINATING; 237 } 238 return VERR_NOT_SUPPORTED; 239 } 240
Note:
See TracChangeset
for help on using the changeset viewer.