From c5d2ef80a47184965be3c220ec173d90aa968074 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 5 Dec 2015 00:25:43 +0000 Subject: ruby_atomic.h: fix the argument order * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of InterlockedCompareExchange64. new value and then old value is the last. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ruby_atomic.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 727c2f5811..b7bed58699 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Dec 5 09:25:41 2015 Nobuyoshi Nakada + + * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of + InterlockedCompareExchange64. new value and then old value is + the last. + Sat Dec 5 09:23:34 2015 Nobuyoshi Nakada * random.c (fill_random_seed): fix the size to be filled, not the diff --git a/ruby_atomic.h b/ruby_atomic.h index 57368a7448..c8c84ed449 100644 --- a/ruby_atomic.h +++ b/ruby_atomic.h @@ -81,7 +81,7 @@ rb_w32_atomic_cas(volatile rb_atomic_t *var, rb_atomic_t oldval, rb_atomic_t new # define ATOMIC_SIZE_INC(var) InterlockedIncrement64(&(var)) # define ATOMIC_SIZE_DEC(var) InterlockedDecrement64(&(var)) # define ATOMIC_SIZE_EXCHANGE(var, val) InterlockedExchange64(&(var), (val)) -# define ATOMIC_SIZE_CAS(var, oldval, val) InterlockedCompareExchange64(&(var), (oldval), (val)) +# define ATOMIC_SIZE_CAS(var, oldval, newval) InterlockedCompareExchange64(&(var), (newval), (oldval)) # else # define ATOMIC_SIZE_ADD(var, val) InterlockedExchangeAdd((LONG *)&(var), (val)) # define ATOMIC_SIZE_SUB(var, val) InterlockedExchangeAdd((LONG *)&(var), -(LONG)(val)) -- cgit v1.2.3