summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-14 16:37:56 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-14 16:37:56 +0000
commit73b88f6be8dfd4cd28d184872e518606a547d4bb (patch)
treedec5f93058a0fbdf8e515d8a7fe293bb1bf6f442
parent55c4223064cf7dbaa5a05dab784dc226d34b2b8a (diff)
* ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on
x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ext/zlib/zlib.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ea2a7b53de..16199aa465 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Dec 15 01:33:31 2005 Tanaka Akira <akr@m17n.org>
+
+ * ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on
+ x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)
+
Wed Dec 14 23:50:20 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/rdoc/parsers/parse_c.rb (find_class_comment): fix for class
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index b05e5264c5..923e3a72bb 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -762,6 +762,7 @@ zstream_run(z, src, len, flush)
zstream_reset_input(z);
if (z->stream.avail_in > 0) {
zstream_append_input(z, z->stream.next_in, z->stream.avail_in);
+ guard = Qnil; /* prevent tail call to make guard effective */
}
}