diff options
author | midipix <writeonce@midipix.org> | 2016-05-23 00:17:40 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-05-23 04:20:37 -0400 |
commit | 8ce0ee786539ba865367dbe68185ffed0ff700a7 (patch) | |
tree | d891fe7945ddc2f25dcf69118e22c7b1047cdd90 /include | |
parent | 381f65e77bcc81945e20829756a3da4a3d5c8624 (diff) | |
download | ntapi-8ce0ee786539ba865367dbe68185ffed0ff700a7.tar.bz2 ntapi-8ce0ee786539ba865367dbe68185ffed0ff700a7.tar.xz |
nt_atomic.h: i386: implement at_store_64() in terms or at_locked_cas_64.
Diffstat (limited to 'include')
-rw-r--r-- | include/ntapi/bits/i386/nt_atomic_i386_asm__gcc.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/include/ntapi/bits/i386/nt_atomic_i386_asm__gcc.h b/include/ntapi/bits/i386/nt_atomic_i386_asm__gcc.h index 1e9ed71..adf000f 100644 --- a/include/ntapi/bits/i386/nt_atomic_i386_asm__gcc.h +++ b/include/ntapi/bits/i386/nt_atomic_i386_asm__gcc.h @@ -468,13 +468,9 @@ static __inline__ void at_store_64( prev = *dst; cmp = prev; - __atomic_compare_exchange_n( - dst, - &cmp, - xchg, - 0, - __ATOMIC_SEQ_CST, - __ATOMIC_SEQ_CST); + prev = at_locked_cas_64( + dst,cmp,xchg); + } while (cmp != prev); } |