Fix implementation of atomic update max and move to a central location
authorMai Lavelle <mai.lavelle@gmail.com>
Wed, 23 Aug 2017 04:40:04 +0000 (00:40 -0400)
committerMai Lavelle <mai.lavelle@gmail.com>
Wed, 23 Aug 2017 10:54:25 +0000 (06:54 -0400)
commit2540741dee789f752687198c6f272a995d45073e
tree4d03f3ce032f67fdb3704b461bc51c3d02b6e7e1
parent5c60721c9e3d5af2bd4f80b3013fe0c804cf7531
Fix implementation of atomic update max and move to a central location

While unlikely to have had any serious effects because of limited use, the
previous implementation was not actually atomic due to a data race and
incorrectly coded CAS loop. We also had duplicates of this code in a few
places, it's now been moved to a single location with all other atomic
operations.
intern/atomic/atomic_ops.h
intern/atomic/intern/atomic_ops_ext.h
intern/cycles/util/util_atomic.h
intern/cycles/util/util_stats.h
intern/guardedalloc/intern/mallocn_lockfree_impl.c