diff options
Diffstat (limited to 'wasm/asyncify.h')
-rw-r--r-- | wasm/asyncify.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/wasm/asyncify.h b/wasm/asyncify.h new file mode 100644 index 0000000000..49eb125593 --- /dev/null +++ b/wasm/asyncify.h @@ -0,0 +1,23 @@ +#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); +#define asyncify_start_unwind(buf) do { \ + extern void *rb_asyncify_unwind_buf; \ + rb_asyncify_unwind_buf = (buf); \ + asyncify_start_unwind((buf)); \ + } while (0) +__attribute__((import_module("asyncify"), import_name("stop_unwind"))) +void asyncify_stop_unwind(void); +#define asyncify_stop_unwind() do { \ + extern void *rb_asyncify_unwind_buf; \ + rb_asyncify_unwind_buf = NULL; \ + asyncify_stop_unwind(); \ + } while (0) +__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 |