diff options
| author | bors <bors@rust-lang.org> | 2023-09-10 23:55:38 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-09-10 23:55:38 +0000 |
| commit | 9d311f9e2d7dd06b468fcf917d611ff8883ad5d6 (patch) | |
| tree | ed8f3669f86137258598d056a43786035d4e920b | |
| parent | 030e4d382f1df30240408540f25cd1ccc8dbbf50 (diff) | |
| parent | f58b2548dc702ebc64a1b6e63f0eb1f99dc7851b (diff) | |
| download | rust-9d311f9e2d7dd06b468fcf917d611ff8883ad5d6.tar.gz rust-9d311f9e2d7dd06b468fcf917d611ff8883ad5d6.zip | |
Auto merge of #114967 - japaric:ja-gh114966, r=Mark-Simulacrum
QNX: pass a truncated thread name to the OS The maximum length the thread name can have is `_NTO_THREAD_NAME_MAX` fixes #114966
| -rw-r--r-- | library/std/src/sys/unix/thread.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/library/std/src/sys/unix/thread.rs b/library/std/src/sys/unix/thread.rs index 4f2d9cf3655..7c242d4d334 100644 --- a/library/std/src/sys/unix/thread.rs +++ b/library/std/src/sys/unix/thread.rs @@ -182,6 +182,9 @@ impl Thread { } if let Some(f) = pthread_setname_np.get() { + #[cfg(target_os = "nto")] + let name = truncate_cstr::<{ libc::_NTO_THREAD_NAME_MAX as usize }>(name); + let res = unsafe { f(libc::pthread_self(), name.as_ptr()) }; debug_assert_eq!(res, 0); } @@ -290,6 +293,7 @@ impl Drop for Thread { target_os = "ios", target_os = "tvos", target_os = "watchos", + target_os = "nto", ))] fn truncate_cstr<const MAX_WITH_NUL: usize>(cstr: &CStr) -> [libc::c_char; MAX_WITH_NUL] { let mut result = [0; MAX_WITH_NUL]; |
