Hi this is my first contribution hope it s useful . Regards. >From ca7fcd85e0453f7173ce73732905463bc259ee32 Mon Sep 17 00:00:00 2001 From: David Carlier <devne...@gmail.com> Date: Sat, 23 May 2020 08:17:51 +0100 Subject: [PATCH] util/oslib: returns real thread identifier on FreeBSD and NetBSD
Signed-off-by: David Carlier <devne...@gmail.com> --- util/oslib-posix.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/util/oslib-posix.c b/util/oslib-posix.c index 062236a1ab..4d28dfd8f5 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -48,11 +48,13 @@ #ifdef __FreeBSD__ #include <sys/sysctl.h> #include <sys/user.h> +#include <sys/thr.h> #include <libutil.h> #endif #ifdef __NetBSD__ #include <sys/sysctl.h> +#include <lwp.h> #endif #include "qemu/mmap-alloc.h" @@ -84,6 +86,13 @@ int qemu_get_thread_id(void) { #if defined(__linux__) return syscall(SYS_gettid); +#elif defined(__FreeBSD__) + // thread id is up to INT_MAX + long tid; + thr_self(&tid); + return (int)tid; +#elif defined(__NetBSD__) + return _lwp_self(); #else return getpid(); #endif -- 2.26.2