summaryrefslogtreecommitdiff
path: root/ext/zlib
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-07 02:51:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-07 02:51:05 +0000
commit4ded52b623ebd1b3de12db82f8b54cc156c1fd28 (patch)
tree7b44f5fa6aa0e5c49b2928d43f00ccc71c97a07f /ext/zlib
parent43db576e61cc70fc7d8280183b71985e5ab18651 (diff)
* file.c (rb_get_path): get path string via "to_path" method if
path object is not a string. [Ruby2] * gc.c (rb_gc_call_finalizer_at_exit): do not free threads in the exit finalizers. * io.c (rb_io_reopen): should use rb_io_check_io(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/zlib')
-rw-r--r--ext/zlib/zlib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index db2ba0d296..7aafbbdc77 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -1757,6 +1757,7 @@ gzfile_close(gz, closeflag)
int closeflag;
{
VALUE io = gz->io;
+
gz->end(gz);
gz->io = Qnil;
gz->orig_name = Qnil;
@@ -2157,6 +2158,7 @@ gzfile_writer_end(gz)
gzfile_make_footer(gz);
if (ZSTREAM_IS_FINALIZE(&gz->z)) {
+ if (NIL_P(gz->io)) return;
rb_warn("Zlib::GzipWriter object must be closed explicitly.");
if (OBJ_IS_FREED(gz->io)) {
aborted = 1;