2022-01-15 09:10:48 -05:00
|
|
|
#ifndef RB_WASM_SUPPORT_ASYNCIFY_H
|
|
|
|
#define RB_WASM_SUPPORT_ASYNCIFY_H
|
|
|
|
|
|
|
|
__attribute__((import_module("asyncify"), import_name("start_unwind")))
|
|
|
|
void asyncify_start_unwind(void *buf);
|
2022-01-27 07:33:39 -05:00
|
|
|
#define asyncify_start_unwind(buf) do { \
|
|
|
|
extern void *rb_asyncify_unwind_buf; \
|
|
|
|
rb_asyncify_unwind_buf = (buf); \
|
|
|
|
asyncify_start_unwind((buf)); \
|
|
|
|
} while (0)
|
2022-01-15 09:10:48 -05:00
|
|
|
__attribute__((import_module("asyncify"), import_name("stop_unwind")))
|
|
|
|
void asyncify_stop_unwind(void);
|
2022-01-27 07:33:39 -05:00
|
|
|
#define asyncify_stop_unwind() do { \
|
|
|
|
extern void *rb_asyncify_unwind_buf; \
|
|
|
|
rb_asyncify_unwind_buf = NULL; \
|
|
|
|
asyncify_stop_unwind(); \
|
|
|
|
} while (0)
|
2022-01-15 09:10:48 -05:00
|
|
|
__attribute__((import_module("asyncify"), import_name("start_rewind")))
|
|
|
|
void asyncify_start_rewind(void *buf);
|
|
|
|
__attribute__((import_module("asyncify"), import_name("stop_rewind")))
|
|
|
|
void asyncify_stop_rewind(void);
|
|
|
|
|
|
|
|
#endif
|