diff options
Diffstat (limited to 'wasm/asyncify.h')
-rw-r--r-- | wasm/asyncify.h | 10 |
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"))) |