summaryrefslogtreecommitdiffstats
path: root/ext/zlib
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
commit08df1164c3c66633e1e1e0b606bbf79fb496b79b (patch)
treedec5f93058a0fbdf8e515d8a7fe293bb1bf6f442 /ext/zlib
parent6c43156dff9ab5f1ea8165ccdef4b1e88a1d24cd (diff)
downloadruby-08df1164c3c66633e1e1e0b606bbf79fb496b79b.tar.gz
ruby-08df1164c3c66633e1e1e0b606bbf79fb496b79b.tar.xz
ruby-08df1164c3c66633e1e1e0b606bbf79fb496b79b.zip
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@9691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/zlib')
-rw-r--r--ext/zlib/zlib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index b05e5264c..923e3a72b 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 */
}
}