aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-06 10:09:38 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-06 10:09:38 +0000
commitf09058b877c41ba05cec24641ae84425f7ac356f (patch)
tree06fae557e7b13b96dbed785c7dc07712216cc11e
parente4720e1118d71f3a5eae8015cc4bf431e30730e7 (diff)
downloadruby-f09058b877c41ba05cec24641ae84425f7ac356f.tar.gz
* gc.c (atomic_sub_nounderflow): not 0 but val itself.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--gc.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c0a84c9cf..98be0f3217 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Dec 6 19:08:48 2013 Koichi Sasada <ko1@atdot.net>
+
+ * gc.c (atomic_sub_nounderflow): not 0 but val itself.
+
Fri Dec 6 18:37:11 2013 Koichi Sasada <ko1@atdot.net>
* gc.c (rb_objspace_alloc, Init_heap): initialize
diff --git a/gc.c b/gc.c
index ac17d03f81..f6940b0419 100644
--- a/gc.c
+++ b/gc.c
@@ -5816,7 +5816,7 @@ atomic_sub_nounderflow(size_t *var, size_t sub)
while (1) {
size_t val = *var;
- if (val < sub) sub = 0;
+ if (val < sub) sub = val;
if (ATOMIC_SIZE_CAS(*var, val, val-sub) == val) break;
}
}