- Timestamp:
- Jul 29, 2021 9:10:03 PM (4 years ago)
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r90283 r90416 3182 3182 generic/RTAssertShouldPanic-generic.cpp \ 3183 3183 generic/RTLogWriteStdOut-stub-generic.cpp \ 3184 generic/RTMpGetCoreCount-generic.cpp \ 3185 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \ 3184 3186 generic/RTTimerCreate-generic.cpp \ 3185 3187 generic/mppresent-generic-online.cpp \ 3186 generic/RTMpGetCoreCount-generic.cpp \3187 3188 generic/rtStrFormatKernelAddress-generic.cpp \ 3188 3189 nt/RTErrConvertFromNtStatus.cpp \ … … 3325 3326 generic/RTMpGetCoreCount-generic.cpp \ 3326 3327 generic/RTMpOnPair-generic.cpp \ 3328 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \ 3327 3329 generic/RTTimerCreate-generic.cpp \ 3328 3330 generic/memsafer-generic.cpp \ … … 3392 3394 generic/RTMpGetSet-generic.cpp \ 3393 3395 generic/RTMpIsCpuOnline-generic.cpp \ 3396 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \ 3394 3397 generic/RTTimerCreate-generic.cpp \ 3395 3398 generic/mppresent-generic.cpp \ … … 3513 3516 generic/RTAssertShouldPanic-generic.cpp \ 3514 3517 generic/RTLogWriteDebugger-generic.cpp \ 3518 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \ 3515 3519 generic/RTTimerCreate-generic.cpp \ 3516 3520 generic/mppresent-generic.cpp \ … … 3544 3548 generic/RTLogWriteStdOut-stub-generic.cpp \ 3545 3549 generic/RTMpGetCoreCount-generic.cpp \ 3550 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \ 3546 3551 generic/RTTimerCreate-generic.cpp \ 3547 3552 generic/mppresent-generic.cpp \ … … 3581 3586 generic/RTAssertShouldPanic-generic.cpp \ 3582 3587 generic/RTMpOnPair-generic.cpp \ 3588 generic/RTThreadQueryTerminationStatus-stub-generic.cpp \ 3583 3589 generic/RTTimerCreate-generic.cpp \ 3584 3590 generic/mppresent-generic.cpp \ -
trunk/src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c
r82968 r90416 185 185 } 186 186 187 188 RTDECL(int) RTThreadQueryTerminationStatus(RTTHREAD hThread) 189 { 190 RT_NOREF(hThread); 191 /** @todo implement. */ 192 return VERR_NOT_SUPPORTED; 193 } 194 -
trunk/src/VBox/Runtime/r0drv/linux/thread-r0drv-linux.c
r85698 r90416 233 233 RT_EXPORT_SYMBOL(RTThreadIsInInterrupt); 234 234 235 236 RTDECL(int) RTThreadQueryTerminationStatus(RTTHREAD hThread) 237 { 238 struct task_struct *pTask = current; 239 AssertReturn(hThread == NIL_RTTHREAD, VERR_NOT_SUPPORTED); 240 241 /* Check out pending signals. ASSUMES we can get away w/o locking 242 anything because we're only reading the data. */ 243 if (sigismember(&pTask->pending.signal, SIGKILL)) 244 return VINF_THREAD_IS_TERMINATING; 245 246 #if RTLNX_VER_MIN(2,5,34) 247 /* Check the pending signals shared with other threads in 248 the same process/group. ASSUME since we're alive that 249 the signal_struct won't be freed while we're looking 250 at it here... */ 251 { 252 # if RTLNX_VER_MIN(2,5,60) 253 struct signal_struct *pSignal = current->signal; 254 # else 255 struct signal_struct *pSignal = current->sig; 256 # endif 257 if ( pSignal 258 && sigismember(&pSignal->shared_pending.signal, SIGKILL)) 259 return VINF_THREAD_IS_TERMINATING; 260 } 261 #endif 262 263 return VINF_SUCCESS; 264 } 265 RT_EXPORT_SYMBOL(RTThreadQueryTerminationStatus); 266
Note:
See TracChangeset
for help on using the changeset viewer.