From 52371f4b16c76001e054761023a6ef4e817d42ad Mon Sep 17 00:00:00 2001 From: David Carlier Date: Wed, 28 Jul 2021 18:22:19 +0100 Subject: [PATCH] thread set_name haiku implementation. --- library/std/src/sys/unix/thread.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/library/std/src/sys/unix/thread.rs b/library/std/src/sys/unix/thread.rs index 1488bf94841de..bc61f472a2b05 100644 --- a/library/std/src/sys/unix/thread.rs +++ b/library/std/src/sys/unix/thread.rs @@ -164,16 +164,23 @@ impl Thread { } } + #[cfg(target_os = "haiku")] + pub fn set_name(name: &CStr) { + unsafe { + let thread_self = libc::find_thread(ptr::null_mut()); + libc::rename_thread(thread_self, name.as_ptr()); + } + } + #[cfg(any( target_env = "newlib", - target_os = "haiku", target_os = "l4re", target_os = "emscripten", target_os = "redox", target_os = "vxworks" ))] pub fn set_name(_name: &CStr) { - // Newlib, Haiku, Emscripten, and VxWorks have no way to set a thread name. + // Newlib, Emscripten, and VxWorks have no way to set a thread name. } pub fn sleep(dur: Duration) {