@@ -129,25 +129,26 @@ impl Thread {
129
129
}
130
130
}
131
131
132
- #[ cfg( target_os = "linux" ) ]
132
+ #[ cfg( any ( target_os = "linux" , target_os = "freebsd" , target_os = "dragonfly" ) ) ]
133
133
pub fn set_name ( name : & CStr ) {
134
- const TASK_COMM_LEN : usize = 16 ;
135
-
136
134
unsafe {
137
- // Available since glibc 2.12, musl 1.1.16, and uClibc 1.0.20.
138
- let name = truncate_cstr :: < { TASK_COMM_LEN } > ( name) ;
135
+ cfg_if:: cfg_if! {
136
+ if #[ cfg( target_os = "linux" ) ] {
137
+ const TASK_COMM_LEN : usize = 16 ;
138
+ let name = & truncate_cstr:: <{ TASK_COMM_LEN } >( name) ;
139
+ } else {
140
+ let name = name. to_bytes( ) ;
141
+ }
142
+ } ;
143
+ // Available since glibc 2.12, musl 1.1.16, and uClibc 1.0.20 for Linux,
144
+ // FreeBSD 12.2 and 13.0, and DragonFlyBSD 6.0.
139
145
let res = libc:: pthread_setname_np ( libc:: pthread_self ( ) , name. as_ptr ( ) ) ;
140
146
// We have no good way of propagating errors here, but in debug-builds let's check that this actually worked.
141
147
debug_assert_eq ! ( res, 0 ) ;
142
148
}
143
149
}
144
150
145
- #[ cfg( any(
146
- target_os = "freebsd" ,
147
- target_os = "dragonfly" ,
148
- target_os = "openbsd" ,
149
- target_os = "nuttx"
150
- ) ) ]
151
+ #[ cfg( any( target_os = "openbsd" , target_os = "nuttx" ) ) ]
151
152
pub fn set_name ( name : & CStr ) {
152
153
unsafe {
153
154
libc:: pthread_set_name_np ( libc:: pthread_self ( ) , name. as_ptr ( ) ) ;
0 commit comments