Skip to content

Commit 0992854

Browse files
authored
Atomic inc/dec should use ATOMIC_SEQ_CST (#19212)
1 parent 7806ec5 commit 0992854

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Diff for: lib/system/atomics.nim

+3-3
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ else:
217217

218218
proc atomicInc*(memLoc: var int, x: int = 1): int =
219219
when someGcc and hasThreadSupport:
220-
result = atomicAddFetch(memLoc.addr, x, ATOMIC_RELAXED)
220+
result = atomicAddFetch(memLoc.addr, x, ATOMIC_SEQ_CST)
221221
elif someVcc and hasThreadSupport:
222222
result = addAndFetch(memLoc.addr, x)
223223
inc(result, x)
@@ -228,9 +228,9 @@ proc atomicInc*(memLoc: var int, x: int = 1): int =
228228
proc atomicDec*(memLoc: var int, x: int = 1): int =
229229
when someGcc and hasThreadSupport:
230230
when declared(atomicSubFetch):
231-
result = atomicSubFetch(memLoc.addr, x, ATOMIC_RELAXED)
231+
result = atomicSubFetch(memLoc.addr, x, ATOMIC_SEQ_CST)
232232
else:
233-
result = atomicAddFetch(memLoc.addr, -x, ATOMIC_RELAXED)
233+
result = atomicAddFetch(memLoc.addr, -x, ATOMIC_SEQ_CST)
234234
elif someVcc and hasThreadSupport:
235235
result = addAndFetch(memLoc.addr, -x)
236236
dec(result, x)

0 commit comments

Comments
 (0)