Move prctl test to the same file as other libc tests.
This commit is contained in:
parent
60cd8aa4b0
commit
39efdf31cf
2 changed files with 17 additions and 18 deletions
|
|
@ -1,18 +0,0 @@
|
|||
// ignore-windows: No libc on Windows
|
||||
// ignore-macos: No prctl on MacOS
|
||||
|
||||
#![feature(rustc_private)]
|
||||
|
||||
extern crate libc;
|
||||
|
||||
use std::ffi::CString;
|
||||
|
||||
fn main() {
|
||||
unsafe {
|
||||
let thread_name = CString::new("hello").expect("CString::new failed");
|
||||
assert_eq!(libc::prctl(libc::PR_SET_NAME, thread_name.as_ptr() as libc::c_long, 0 as libc::c_long, 0 as libc::c_long, 0 as libc::c_long), 0);
|
||||
let mut buf = [0; 6];
|
||||
assert_eq!(libc::prctl(libc::PR_GET_NAME, buf.as_mut_ptr() as libc::c_long, 0 as libc::c_long, 0 as libc::c_long, 0 as libc::c_long), 0);
|
||||
assert_eq!(thread_name.as_bytes_with_nul(), buf);
|
||||
}
|
||||
}
|
||||
|
|
@ -141,6 +141,20 @@ fn test_rwlock_libc_static_initializer() {
|
|||
}
|
||||
}
|
||||
|
||||
/// Test whether the `prctl` shim correctly sets the thread name.
|
||||
///
|
||||
/// Note: `prctl` exists only on Linux.
|
||||
fn test_prctl_thread_name() {
|
||||
use std::ffi::CString;
|
||||
unsafe {
|
||||
let thread_name = CString::new("hello").expect("CString::new failed");
|
||||
assert_eq!(libc::prctl(libc::PR_SET_NAME, thread_name.as_ptr() as libc::c_long, 0 as libc::c_long, 0 as libc::c_long, 0 as libc::c_long), 0);
|
||||
let mut buf = [0; 6];
|
||||
assert_eq!(libc::prctl(libc::PR_GET_NAME, buf.as_mut_ptr() as libc::c_long, 0 as libc::c_long, 0 as libc::c_long, 0 as libc::c_long), 0);
|
||||
assert_eq!(thread_name.as_bytes_with_nul(), buf);
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
#[cfg(target_os = "linux")]
|
||||
test_posix_fadvise();
|
||||
|
|
@ -152,4 +166,7 @@ fn main() {
|
|||
|
||||
#[cfg(target_os = "linux")]
|
||||
test_mutex_libc_static_initializer_recursive();
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
test_prctl_thread_name();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue