Ruby 3.5.0dev (2025-01-10 revision 5fab31b15e32622c4b71d1d347a41937e9f9c212)
asyncify.h
1#ifndef RB_WASM_SUPPORT_ASYNCIFY_H
2#define RB_WASM_SUPPORT_ASYNCIFY_H
3
4__attribute__((import_module("asyncify"), import_name("start_unwind")))
5void asyncify_start_unwind(void *buf);
6#define asyncify_start_unwind(buf) do { \
7 extern void *rb_asyncify_unwind_buf; \
8 rb_asyncify_unwind_buf = (buf); \
9 asyncify_start_unwind((buf)); \
10 } while (0)
11__attribute__((import_module("asyncify"), import_name("stop_unwind")))
12void asyncify_stop_unwind(void);
13#define asyncify_stop_unwind() do { \
14 extern void *rb_asyncify_unwind_buf; \
15 rb_asyncify_unwind_buf = NULL; \
16 asyncify_stop_unwind(); \
17 } while (0)
18__attribute__((import_module("asyncify"), import_name("start_rewind")))
19void asyncify_start_rewind(void *buf);
20__attribute__((import_module("asyncify"), import_name("stop_rewind")))
21void asyncify_stop_rewind(void);
22
23#endif