summaryrefslogtreecommitdiff
path: root/internal/io.h
diff options
authorNobuyoshi Nakada <[email protected]>2024-01-24 20:51:50 +0900
committerNobuyoshi Nakada <[email protected]>2024-01-24 20:51:50 +0900
commitd86c4e553ee8ff899a103a49db0b66c73c01135f (patch)
treebc9ae843fbba608ea14f9c06d900427ffc380e28 /internal/io.h
parent0f417d640de16339c85ba8f4bd60e6ac2ce506eb (diff)
Define `IO_WITHOUT_GVL` macro
Diffstat (limited to 'internal/io.h')
-rw-r--r--internal/io.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/internal/io.h b/internal/io.h
index f16d9efc9c..1891248a19 100644
--- a/internal/io.h
+++ b/internal/io.h
@@ -15,6 +15,9 @@ struct rb_io;
#include "ruby/io.h" /* for rb_io_t */
+#define IO_WITHOUT_GVL(func, arg) rb_thread_call_without_gvl(func, arg, RUBY_UBF_IO, 0)
+#define IO_WITHOUT_GVL_INT(func, arg) (int)(VALUE)IO_WITHOUT_GVL(func, arg)
+
/** Ruby's IO, metadata and buffers. */
struct rb_io {