From 9502ad3ca3af68298a5ce95f917e6ee5d7b1aacc Mon Sep 17 00:00:00 2001 From: Ben Gamari <ben@smart-cactus.org> Date: Thu, 22 Jun 2023 18:59:48 -0400 Subject: [PATCH] rts/Messages: Fix data race --- rts/Messages.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rts/Messages.c b/rts/Messages.c index 50df0ab41fef..730d81df9ce9 100644 --- a/rts/Messages.c +++ b/rts/Messages.c @@ -205,7 +205,7 @@ uint32_t messageBlackHole(Capability *cap, MessageBlackHole *msg) StgTSO *owner = (StgTSO*)p; #if defined(THREADED_RTS) - if (owner->cap != cap) { + if (RELAXED_LOAD(&owner->cap) != cap) { sendMessage(cap, owner->cap, (Message*)msg); debugTraceCap(DEBUG_sched, cap, "forwarding message to cap %d", owner->cap->no); @@ -275,7 +275,7 @@ uint32_t messageBlackHole(Capability *cap, MessageBlackHole *msg) ASSERT(owner != END_TSO_QUEUE); #if defined(THREADED_RTS) - if (owner->cap != cap) { + if (RELAXED_LOAD(&owner->cap) != cap) { sendMessage(cap, owner->cap, (Message*)msg); debugTraceCap(DEBUG_sched, cap, "forwarding message to cap %d", owner->cap->no); -- GitLab