diff options
| author | Ilya Leoshkevich <iii@linux.ibm.com> | 2025-02-07 15:31:09 +0000 |
|---|---|---|
| committer | Alex Bennée <alex.bennee@linaro.org> | 2025-02-10 13:47:59 +0000 |
| commit | a33dcfe771c7c2460f2a6809c3b73a5d0772396f (patch) | |
| tree | 9261dfc07a0d323d76b33ecc9ce2b667abc07cb2 /util/oslib-posix.c | |
| parent | 2b3ccf5f0db7c75ba990da7e6223c3f7319480c0 (diff) | |
| download | focaccia-qemu-a33dcfe771c7c2460f2a6809c3b73a5d0772396f.tar.gz focaccia-qemu-a33dcfe771c7c2460f2a6809c3b73a5d0772396f.zip | |
osdep: Introduce qemu_kill_thread()
Add a function for sending signals to individual threads. It does not make sense on Windows, so do not provide an implementation, so that if someone uses it by accident, they will get a linker error. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Message-Id: <20250117001542.8290-6-iii@linux.ibm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250207153112.3939799-15-alex.bennee@linaro.org>
Diffstat (limited to 'util/oslib-posix.c')
| -rw-r--r-- | util/oslib-posix.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/util/oslib-posix.c b/util/oslib-posix.c index 2bb34dade3..a697c602c6 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -111,6 +111,21 @@ int qemu_get_thread_id(void) #endif } +int qemu_kill_thread(int tid, int sig) +{ +#if defined(__linux__) + return syscall(__NR_tgkill, getpid(), tid, sig); +#elif defined(__FreeBSD__) + return thr_kill2(getpid(), tid, sig); +#elif defined(__NetBSD__) + return _lwp_kill(tid, sig); +#elif defined(__OpenBSD__) + return thrkill(tid, sig, NULL); +#else + return kill(tid, sig); +#endif +} + int qemu_daemon(int nochdir, int noclose) { return daemon(nochdir, noclose); |