blob: 82c4900a7316d537d5bbde6cc1fb6a8a733c371e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
use sys::{errno};
def __SIZEOF_PTHREAD_CONDATTR_T: size = 56;
type pthread_attr_t = union {
__size: [__SIZEOF_PTHREAD_CONDATTR_T]i8,
__align: i64
};
type pthread_t = u64;
@symbol("pthread_create") fn _pthread_create(thread: *pthread_t, attr: const nullable *pthread_attr_t, start_routine: *fn(arg: *opaque) nullable *opaque, arg: *opaque) int;
fn pthread_create(thread: *pthread_t, attr: const nullable *pthread_attr_t, start_routine: *fn(arg: *opaque) nullable *opaque, arg: *opaque) (void | errno) = {
const ret = _pthread_create(thread, attr, start_routine, arg);
if (ret != 0)
return ret: errno;
};
@symbol("pthread_join") fn _pthread_join(thread: pthread_t, value_ptr: nullable **opaque) int;
fn pthread_join(thread: pthread_t, value_ptr: nullable **opaque) (void | errno) = {
const ret = _pthread_join(thread, value_ptr);
if (ret != 0)
return ret: errno;
};
|