summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--io.c2
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e687418c2b..d0d833925c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jan 13 18:21:44 2009 NAKAMURA Usaku <[email protected]>
+
+ * 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 <[email protected]>
* io.c (rb_io_initialize): workaround for Windows. [ruby-dev:37686]
@@ -49,7 +55,7 @@ Tue Jan 13 02:54:54 2009 NAKAMURA Usaku <[email protected]>
* 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 5e50b0981d..3d615c2daf 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;