summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/vm_core.h b/vm_core.h
index 5de066b883..4055e79d1d 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1090,11 +1090,14 @@ void rb_threadptr_pending_interrupt_clear(rb_thread_t *th);
void rb_threadptr_pending_interrupt_enque(rb_thread_t *th, VALUE v);
int rb_threadptr_pending_interrupt_active_p(rb_thread_t *th);
-#define RUBY_VM_CHECK_INTS(th) do { \
- if (UNLIKELY(RUBY_VM_INTERRUPTED_ANY(th))) { \
- rb_threadptr_execute_interrupts(th, 0); \
- } \
-} while (0)
+#define RUBY_VM_CHECK_INTS(th) ruby_vm_check_ints(th)
+static inline void
+ruby_vm_check_ints(rb_thread_t *th)
+{
+ if (UNLIKELY(RUBY_VM_INTERRUPTED_ANY(th))) {
+ rb_threadptr_execute_interrupts(th, 0);
+ }
+}
/* tracer */
struct rb_trace_arg_struct {