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
commit79b9c156c2c5646271646a60a95c8bc6ca12f3f6 (patch)
treef781413613f212db303748abb3c5ed98de8573b4
parent013f6fdfa46e0bad198da304dae9f70259084e38 (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/branches/ruby_1_8@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 d10a658838..483c59d398 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 12:11:46 2005 WATANABE Hirofumi <eban@ruby-lang.org>
* test/gdbm/test_gdbm.rb: specify pid for the argument of
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index c8c4407d08..ee98089f0a 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -759,6 +759,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 */
}
}