summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-13 09:23:54 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-13 09:23:54 +0000
commit32036028a6331ccca4a4e94469be7aa10be92b0b (patch)
tree3303060aa59fdaa0cf4757e24c3f926f6744d514
parent32c38881280a40bb48f2f3688bb8bc7c7ad11115 (diff)
downloadruby-32036028a6331ccca4a4e94469be7aa10be92b0b.tar.gz
ruby-32036028a6331ccca4a4e94469be7aa10be92b0b.tar.xz
ruby-32036028a6331ccca4a4e94469be7aa10be92b0b.zip
* io.c (rb_io_close_read): call rb_io_fptr_cleanup() instead of
fptr_finalize() because the fptr has special finalizser if it is a pipe. [ruby-dev:37757] (3) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--io.c2
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e687418c2..d0d833925 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jan 13 18:21:44 2009 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * io.c (rb_io_close_read): call rb_io_fptr_cleanup() instead of
+ fptr_finalize() because the fptr has special finalizser if it is a
+ pipe. [ruby-dev:37757] (3)
+
Tue Jan 13 18:19:49 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* io.c (rb_io_initialize): workaround for Windows. [ruby-dev:37686]
@@ -49,7 +55,7 @@ Tue Jan 13 02:54:54 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/socket/extconf.rb: use headers instead of "netdb.h" in checking
getnameinfo() and getaddrinfo() because Windows doesn't have it.
- see [ruby-dev:37757].
+ [ruby-dev:37757] (1)
* ext/socket/sockport.h (SA_LEN): use sockaddr_in6 when defined AF_INET6
if INET6 is not defined. winsock2's getaddrinfo() returns
diff --git a/io.c b/io.c
index 5e50b0981..3d615c2da 100644
--- a/io.c
+++ b/io.c
@@ -3378,7 +3378,7 @@ rb_io_close_read(VALUE io)
write_io = GetWriteIO(io);
if (io != write_io) {
rb_io_t *wfptr;
- fptr_finalize(fptr, Qfalse);
+ rb_io_fptr_cleanup(fptr, Qfalse);
GetOpenFile(write_io, wfptr);
RFILE(io)->fptr = wfptr;
RFILE(write_io)->fptr = NULL;