summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2025-10-23 14:57:50 +0900
committerKoichi Sasada <ko1@atdot.net>2025-10-30 18:04:08 +0900
commitb09f782fee51c25fd0531ab2833d303cf0c14bbc (patch)
tree8ad33a46ea7a57e508dd65ec28314644be6e0532
parent8e4dc1099a8681a70f547d0349ab8a5ff32d4da1 (diff)
Ractor's queue can contain unshareable objects
-rw-r--r--ractor.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ractor.c b/ractor.c
index 8d324b3c3f..2820a848a2 100644
--- a/ractor.c
+++ b/ractor.c
@@ -209,9 +209,6 @@ ractor_mark(void *ptr)
rb_ractor_t *r = (rb_ractor_t *)ptr;
bool checking_shareable = rb_gc_checking_shareable();
- // mark received messages
- ractor_sync_mark(r);
-
rb_gc_mark(r->loc);
rb_gc_mark(r->name);
@@ -223,6 +220,9 @@ ractor_mark(void *ptr)
rb_gc_mark(r->verbose);
rb_gc_mark(r->debug);
+ // mark received messages
+ ractor_sync_mark(r);
+
rb_hook_list_mark(&r->pub.hooks);
if (r->threads.cnt > 0) {