summaryrefslogtreecommitdiff
path: root/ruby_atomic.h
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-04-26 22:39:36 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-04-26 22:39:36 +0900
commit257e01b61db90ecf3a53957281770b5f3db3f919 (patch)
tree1f5a50d41b3578b9464be72759a582a7cff0a27c /ruby_atomic.h
parent1760c60174b80e837371a19ec13b1148629262cb (diff)
Solaris does not provide atomic_sub family
Diffstat (limited to 'ruby_atomic.h')
-rw-r--r--ruby_atomic.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/ruby_atomic.h b/ruby_atomic.h
index eaa9fcd869..fa888a1db0 100644
--- a/ruby_atomic.h
+++ b/ruby_atomic.h
@@ -117,7 +117,7 @@ rb_atomic_fetch_add(volatile rb_atomic_t *var, rb_atomic_t val)
static inline rb_atomic_t
rb_atomic_fetch_sub(volatile rb_atomic_t *var, rb_atomic_t val)
{
- return atomic_sub_int_nv(var, val) + val;
+ return atomic_add_int_nv(var, (rb_atomic_t)(-(int)val)) + val;
}
# if defined(_LP64) || defined(_I32LPx)