2022-07-17 21:54:10 -04:00
|
|
|
//@ignore-target-windows: No libc on Windows
|
2020-04-05 14:55:57 -05:00
|
|
|
|
|
|
|
#![feature(rustc_private)]
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
unsafe {
|
|
|
|
let mut mutexattr: libc::pthread_mutexattr_t = std::mem::zeroed();
|
2022-06-21 11:27:44 -07:00
|
|
|
assert_eq!(
|
|
|
|
libc::pthread_mutexattr_settype(&mut mutexattr as *mut _, libc::PTHREAD_MUTEX_NORMAL),
|
2022-06-21 11:28:00 -07:00
|
|
|
0,
|
2022-06-21 11:27:44 -07:00
|
|
|
);
|
2020-04-05 14:55:57 -05:00
|
|
|
let mut mutex: libc::pthread_mutex_t = std::mem::zeroed();
|
|
|
|
assert_eq!(libc::pthread_mutex_init(&mut mutex as *mut _, &mutexattr as *const _), 0);
|
|
|
|
assert_eq!(libc::pthread_mutex_lock(&mut mutex as *mut _), 0);
|
2022-07-11 11:44:55 +00:00
|
|
|
libc::pthread_mutex_destroy(&mut mutex as *mut _); //~ ERROR: destroyed a locked mutex
|
2020-04-05 14:55:57 -05:00
|
|
|
}
|
|
|
|
}
|