summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-03-31 11:56:18 +0000
committerbors <bors@rust-lang.org>2022-03-31 11:56:18 +0000
commit4297ad14bf7a897e890c2d5d94f2fc34e40a5dde (patch)
treeeb6c4b0b361a5850b219aa80935accdd0956b7a3
parenta25c8532abe78635d72917ea6c11db4ad3f904dd (diff)
parented0b1b93b695a267635649372fcaddef336dcf62 (diff)
downloadrust-libc-4297ad14bf7a897e890c2d5d94f2fc34e40a5dde.tar.gz
Auto merge of #2734 - devnexen:pthread_spin_haiku, r=Amanieu
haiku add pthread spinlock api
-rw-r--r--src/unix/haiku/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs
index d0a835bc1f..4ddda212aa 100644
--- a/src/unix/haiku/mod.rs
+++ b/src/unix/haiku/mod.rs
@@ -285,6 +285,10 @@ s! {
waiters: [*mut ::c_void; 2],
}
+ pub struct pthread_spinlock_t {
+ lock: u32,
+ }
+
pub struct passwd {
pub pw_name: *mut ::c_char,
pub pw_passwd: *mut ::c_char,
@@ -1612,6 +1616,11 @@ extern "C" {
lock: *mut pthread_mutex_t,
abstime: *const ::timespec,
) -> ::c_int;
+ pub fn pthread_spin_init(lock: *mut ::pthread_spinlock_t, pshared: ::c_int) -> ::c_int;
+ pub fn pthread_spin_destroy(lock: *mut ::pthread_spinlock_t) -> ::c_int;
+ pub fn pthread_spin_lock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
+ pub fn pthread_spin_trylock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
+ pub fn pthread_spin_unlock(lock: *mut ::pthread_spinlock_t) -> ::c_int;
pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int)
-> ::c_int;