diff options
| author | David Carlier <devnexen@gmail.com> | 2024-04-01 14:28:37 +0100 |
|---|---|---|
| committer | David Carlier <devnexen@gmail.com> | 2024-04-01 22:16:13 +0100 |
| commit | ca36fe310e8970a66461ff7fc8496a76c75b70ed (patch) | |
| tree | 4b05700bb8ca621a9ec1b259a40016640378cfcd | |
| parent | 3d5528c287860b918e178a34f04ff903325571b3 (diff) | |
| download | rust-ca36fe310e8970a66461ff7fc8496a76c75b70ed.tar.gz rust-ca36fe310e8970a66461ff7fc8496a76c75b70ed.zip | |
std::thread: set_name change for solaris/illumos.
truncate down to 32 (31 + 1) for solaris/illumos.
| -rw-r--r-- | library/std/src/sys/pal/unix/thread.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/library/std/src/sys/pal/unix/thread.rs b/library/std/src/sys/pal/unix/thread.rs index 77e31d802a3..5ac68050b95 100644 --- a/library/std/src/sys/pal/unix/thread.rs +++ b/library/std/src/sys/pal/unix/thread.rs @@ -182,8 +182,11 @@ 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); + const THREAD_NAME_MAX: usize = libc::_NTO_THREAD_NAME_MAX as usize; + #[cfg(any(target_os = "solaris", target_os = "illumos"))] + const THREAD_NAME_MAX: usize = 32; + let name = truncate_cstr::<{ THREAD_NAME_MAX }>(name); let res = unsafe { f(libc::pthread_self(), name.as_ptr()) }; debug_assert_eq!(res, 0); } @@ -360,6 +363,8 @@ impl Drop for Thread { target_os = "tvos", target_os = "watchos", target_os = "nto", + target_os = "solaris", + target_os = "illumos", ))] fn truncate_cstr<const MAX_WITH_NUL: usize>(cstr: &CStr) -> [libc::c_char; MAX_WITH_NUL] { let mut result = [0; MAX_WITH_NUL]; |
