diff options
| author | Huang Qi <huangqi3@xiaomi.com> | 2025-01-24 21:17:49 +0800 |
|---|---|---|
| committer | Huang Qi <huangqi3@xiaomi.com> | 2025-01-24 21:21:30 +0800 |
| commit | e170c9dec043e8f51bf1dfd3709f25e9bbe5a0fd (patch) | |
| tree | 9b2e0df2f51d11cf9adcea2d9ee81f875d5367c2 | |
| parent | 061ee95ce197dc9b276fc5363eddbfc0ecc08584 (diff) | |
| download | rust-e170c9dec043e8f51bf1dfd3709f25e9bbe5a0fd.tar.gz rust-e170c9dec043e8f51bf1dfd3709f25e9bbe5a0fd.zip | |
Fix set_name in thread mod for NuttX
Replace `pthread_set_name_np` with `pthread_setname_np` for NuttX in the `set_name` function, this change aligns the implementation with the correct API available on NuttX This patch ensures thread naming works correctly on NuttX platforms. Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
| -rw-r--r-- | library/std/src/sys/pal/unix/thread.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/library/std/src/sys/pal/unix/thread.rs b/library/std/src/sys/pal/unix/thread.rs index f657f82e6e3..356669980c7 100644 --- a/library/std/src/sys/pal/unix/thread.rs +++ b/library/std/src/sys/pal/unix/thread.rs @@ -130,7 +130,12 @@ impl Thread { } } - #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly"))] + #[cfg(any( + target_os = "linux", + target_os = "freebsd", + target_os = "dragonfly", + target_os = "nuttx" + ))] pub fn set_name(name: &CStr) { unsafe { cfg_if::cfg_if! { @@ -139,7 +144,7 @@ impl Thread { const TASK_COMM_LEN: usize = 16; let name = truncate_cstr::<{ TASK_COMM_LEN }>(name); } else { - // FreeBSD and DragonFly BSD do not enforce length limits. + // FreeBSD, DragonFly, FreeBSD and NuttX do not enforce length limits. } }; // Available since glibc 2.12, musl 1.1.16, and uClibc 1.0.20 for Linux, @@ -150,7 +155,7 @@ impl Thread { } } - #[cfg(any(target_os = "openbsd", target_os = "nuttx"))] + #[cfg(target_os = "openbsd")] pub fn set_name(name: &CStr) { unsafe { libc::pthread_set_name_np(libc::pthread_self(), name.as_ptr()); |
