summaryrefslogtreecommitdiff
path: root/wasm/asyncify.h
diff options
context:
space:
mode:
Diffstat (limited to 'wasm/asyncify.h')
-rw-r--r--wasm/asyncify.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/wasm/asyncify.h b/wasm/asyncify.h
index 834fc8b570..49eb125593 100644
--- a/wasm/asyncify.h
+++ b/wasm/asyncify.h
@@ -3,8 +3,18 @@
__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")))