summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authorwanabe <wanabe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-10-17 15:51:35 +0000
committerwanabe <wanabe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-10-17 15:51:35 +0000
commitb29f3640e9ef46a520ba67853b52e9d236a9f6a6 (patch)
tree44da8c194992f2a14f4c2393645bd6ad6d8c3370 /array.c
parent331cd4eed69b4b9f04590109877ef8af424bf9c9 (diff)
* array.c: don't recycle shared-array while sort!.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r--array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/array.c b/array.c
index f4ad44c051..866849e6d2 100644
--- a/array.c
+++ b/array.c
@@ -177,7 +177,7 @@ rb_ary_decrement_share(VALUE shared)
{
if (shared) {
int num = ARY_SHARED_NUM(shared) - 1;
- if (num == 0) {
+ if (num == 0 && RBASIC(shared)->klass) {
rb_ary_free(shared);
rb_gc_force_recycle(shared);
}