Skip to content

Commit

Permalink
Rollup merge of #123323 - devnexen:thread_set_name_solaris_fix, r=wor…
Browse files Browse the repository at this point in the history
…kingjubilee

std::thread: set_name change for solaris/illumos.

truncate down to 32 (31 + 1) for solaris/illumos.
  • Loading branch information
workingjubilee authored Apr 2, 2024
2 parents 1684a75 + ca36fe3 commit 48b2a51
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion library/std/src/sys/pal/unix/thread.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down Expand Up @@ -368,6 +371,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];
Expand Down

0 comments on commit 48b2a51

Please sign in to comment.