summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-11-16 09:44:43 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-12-16 16:12:45 -0500
commit351eae582192f6a573ba50f12782179ab7f5428b (patch)
treeee5837cb9c588434ace1dca925d3ff1d2191db6a
parent287fa3fbcc1db460490d45662c3c62fdee7bd6d6 (diff)
downloadhaskell-351eae582192f6a573ba50f12782179ab7f5428b.tar.gz
rts: Note race with wakeBlockingQueue
-rw-r--r--rts/StgMiscClosures.cmm3
1 files changed, 2 insertions, 1 deletions
diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm
index 374358028d..66d86643b3 100644
--- a/rts/StgMiscClosures.cmm
+++ b/rts/StgMiscClosures.cmm
@@ -540,7 +540,8 @@ retry:
return (p);
}
- info = GET_INFO(p);
+ // May race with OVERWRITE_INFO in wakeBlockingQueue()
+ info = %relaxed GET_INFO(p);
if (info == stg_IND_info) {
// This could happen, if e.g. we got a BLOCKING_QUEUE that has
// just been replaced with an IND by another thread in