mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-29 01:14:40 +00:00
23 lines
594 B
Odin
23 lines
594 B
Odin
#+build linux, darwin, netbsd, openbsd, freebsd, haiku
|
|
#+private
|
|
package testing
|
|
|
|
import "core:c/libc"
|
|
import "core:sys/posix"
|
|
|
|
__setup_signal_handler :: proc() {
|
|
libc.signal(posix.SIGTRAP, stop_test_callback)
|
|
}
|
|
|
|
_test_thread_cancel :: proc "contextless" () {
|
|
// NOTE(Feoramund): Some UNIX-like platforms may require this.
|
|
//
|
|
// During testing, I found that NetBSD 10.0 refused to
|
|
// terminate a task thread, even when its thread had been
|
|
// properly set to PTHREAD_CANCEL_ASYNCHRONOUS.
|
|
//
|
|
// The runner would stall after returning from `pthread_cancel`.
|
|
|
|
posix.pthread_testcancel()
|
|
}
|