diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-11-10 19:47:53 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-12-23 19:09:30 -0500 |
commit | 387d4fcc29441098d41340c12e56d9693b5e4c94 (patch) | |
tree | 2901d81149c89f05c45b4b0b3288501db832da05 | |
parent | 8093264a448940133fc2f1899bab8757eabe4b85 (diff) | |
download | haskell-387d4fcc29441098d41340c12e56d9693b5e4c94.tar.gz |
nonmoving: Make segment state updates atomic
-rw-r--r-- | rts/sm/NonMoving.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/sm/NonMoving.h b/rts/sm/NonMoving.h index 1d40ef726e..2700f8a8f8 100644 --- a/rts/sm/NonMoving.h +++ b/rts/sm/NonMoving.h @@ -44,7 +44,7 @@ enum NonmovingSegmentState { FREE, CURRENT, ACTIVE, FILLED, FILLED_SWEEPING }; -#define SET_SEGMENT_STATE(seg, st) (seg)->state = (st) +#define SET_SEGMENT_STATE(seg, st) RELAXED_STORE(&(seg)->state, (st)) #else #define SET_SEGMENT_STATE(_seg,_st) #endif |