mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 05:08:14 +00:00
Propper thread identification on NetBSD
This commit is contained in:
@@ -328,6 +328,11 @@ foreign dl {
|
|||||||
@(link_name="dlerror") _unix_dlerror :: proc() -> cstring ---
|
@(link_name="dlerror") _unix_dlerror :: proc() -> cstring ---
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@(private)
|
||||||
|
foreign libc {
|
||||||
|
_lwp_self :: proc() -> i32 ---
|
||||||
|
}
|
||||||
|
|
||||||
// NOTE(phix): Perhaps share the following functions with FreeBSD if they turn out to be the same in the end.
|
// NOTE(phix): Perhaps share the following functions with FreeBSD if they turn out to be the same in the end.
|
||||||
|
|
||||||
is_path_separator :: proc(r: rune) -> bool {
|
is_path_separator :: proc(r: rune) -> bool {
|
||||||
@@ -721,7 +726,7 @@ exit :: proc "contextless" (code: int) -> ! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
current_thread_id :: proc "contextless" () -> int {
|
current_thread_id :: proc "contextless" () -> int {
|
||||||
return cast(int) unix.pthread_self()
|
return int(_lwp_self())
|
||||||
}
|
}
|
||||||
|
|
||||||
dlopen :: proc(filename: string, flags: int) -> rawptr {
|
dlopen :: proc(filename: string, flags: int) -> rawptr {
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
//+private
|
//+private
|
||||||
package sync
|
package sync
|
||||||
|
|
||||||
import "core:sys/unix"
|
foreign import libc "system:c"
|
||||||
|
|
||||||
|
foreign libc {
|
||||||
|
_lwp_self :: proc "c" () -> i32 ---
|
||||||
|
}
|
||||||
|
|
||||||
_current_thread_id :: proc "contextless" () -> int {
|
_current_thread_id :: proc "contextless" () -> int {
|
||||||
return cast(int) unix.pthread_self()
|
return int(_lwp_self())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user