1use types::{CallbackPtr, c_void, Value};
2
3#[cfg(unix)]
4use types::RawFd;
5
6extern "C" {
7 pub fn rb_thread_call_without_gvl(func: CallbackPtr,
8 args: *const c_void,
9 unblock_func: CallbackPtr,
10 unblock_args: *const c_void)
11 -> *mut c_void;
12
13 pub fn rb_thread_call_without_gvl2(func: CallbackPtr,
14 args: *const c_void,
15 unblock_func: CallbackPtr,
16 unblock_args: *const c_void)
17 -> *mut c_void;
18
19 pub fn rb_thread_call_with_gvl(func: CallbackPtr, args: *const c_void) -> *mut c_void;
20
21 pub fn rb_thread_create(function: extern "C" fn(*mut c_void) -> Value,
22 data: *mut c_void)
23 -> Value;
24
25 #[cfg(unix)]
26 pub fn rb_thread_wait_fd(fd: RawFd);
27}