1
Fork 0

Fix Thread::set_name on cygwin

This commit is contained in:
王宇逸 2025-03-21 12:50:27 +08:00
parent eda7820be5
commit e5fc7d6a55

View file

@ -143,8 +143,8 @@ impl Thread {
pub fn set_name(name: &CStr) {
unsafe {
cfg_if::cfg_if! {
if #[cfg(target_os = "linux")] {
// Linux limits the allowed length of the name.
if #[cfg(any(target_os = "linux", target_os = "cygwin"))] {
// Linux and Cygwin limits the allowed length of the name.
const TASK_COMM_LEN: usize = 16;
let name = truncate_cstr::<{ TASK_COMM_LEN }>(name);
} else {
@ -346,6 +346,7 @@ impl Drop for Thread {
target_os = "solaris",
target_os = "illumos",
target_os = "vxworks",
target_os = "cygwin",
target_vendor = "apple",
))]
fn truncate_cstr<const MAX_WITH_NUL: usize>(cstr: &CStr) -> [libc::c_char; MAX_WITH_NUL] {