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