1 #ifndef RB_WASM_SUPPORT_ASYNCIFY_H
2 #define RB_WASM_SUPPORT_ASYNCIFY_H
4 __attribute__((import_module("asyncify"), import_name("start_unwind")))
5 void 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)); \
11 __attribute__((import_module("asyncify"), import_name("stop_unwind")))
12 void 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(); \
18 __attribute__((import_module("asyncify"), import_name("start_rewind")))
19 void asyncify_start_rewind(void *buf
);
20 __attribute__((import_module("asyncify"), import_name("stop_rewind")))
21 void asyncify_stop_rewind(void);