aboutsummaryrefslogtreecommitdiffstats
path: root/thread.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-05-29 16:25:28 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-05-29 17:38:26 +0900
commitda69c9235f1a9de856387da3d4db303456c9f100 (patch)
tree9e7f9c9fe7e90eff2af930a66d7553c35b7404bb /thread.c
parentf630b24d7a08bb045f9aa7911bcd3477ebc6aba2 (diff)
downloadruby-da69c9235f1a9de856387da3d4db303456c9f100.tar.gz
Fix -Wclobbered warnings
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/thread.c b/thread.c
index 25e4cf1b74..153e172037 100644
--- a/thread.c
+++ b/thread.c
@@ -1790,6 +1790,7 @@ rb_thread_io_blocking_call(rb_blocking_function_t *func, void *data1, int fd, in
{
EC_PUSH_TAG(ec);
if ((state = EC_EXEC_TAG()) == TAG_NONE) {
+ volatile enum ruby_tag_type saved_state = state; /* for BLOCKING_REGION */
retry:
BLOCKING_REGION(waiting_fd.th, {
val = func(data1);
@@ -1803,6 +1804,7 @@ rb_thread_io_blocking_call(rb_blocking_function_t *func, void *data1, int fd, in
RUBY_VM_CHECK_INTS_BLOCKING(ec);
goto retry;
}
+ state = saved_state;
}
EC_POP_TAG();