diff --git a/lib/thread/_linux_arm.q b/lib/thread/_linux_arm.q index 49f513a..68a60f2 100644 --- a/lib/thread/_linux_arm.q +++ b/lib/thread/_linux_arm.q @@ -1,3 +1,4 @@ const { _exit = 93 + _gettid = 178 } \ No newline at end of file diff --git a/lib/thread/_linux_x86.q b/lib/thread/_linux_x86.q index 8f015db..dc95e45 100644 --- a/lib/thread/_linux_x86.q +++ b/lib/thread/_linux_x86.q @@ -1,3 +1,4 @@ const { _exit = 60 + _gettid = 186 } \ No newline at end of file diff --git a/lib/thread/id_linux.q b/lib/thread/id_linux.q new file mode 100644 index 0000000..c2ab077 --- /dev/null +++ b/lib/thread/id_linux.q @@ -0,0 +1,3 @@ +id() -> int { + return syscall(_gettid) +} \ No newline at end of file diff --git a/lib/thread/id_mac.q b/lib/thread/id_mac.q new file mode 100644 index 0000000..8bbd62a --- /dev/null +++ b/lib/thread/id_mac.q @@ -0,0 +1,6 @@ +import io + +id() -> int { + io.write("thread.id: not implemented on Mac\n") + return 0 +} \ No newline at end of file diff --git a/lib/thread/id_windows.q b/lib/thread/id_windows.q new file mode 100644 index 0000000..3f314b8 --- /dev/null +++ b/lib/thread/id_windows.q @@ -0,0 +1,9 @@ +id() -> int { + return kernel32.GetCurrentThreadId() +} + +extern { + kernel32 { + GetCurrentThreadId() -> int + } +} \ No newline at end of file