summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-10-01 15:25:49 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-10-01 15:25:49 +0000
commitf638c09984f079cdddddb29d27c158aa9f89ed6a (patch)
treedeeed06dbe680bd44fd7ccf0a3fff1077d43c5e5 /ext
parentab59aa3fb32a9be7325124f5d1c673ce04d7f873 (diff)
* ext/socket/socket.c (sock_new): duplicate underlying socket
handle not only descriptor. [ruby-talk:40015] * ext/socket/socket.c (bsock_close_read, bsock_close_write): not use myfdclose(). * win32/win32.c, win32/win32.h (myfddup, myfdclose): delete. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/socket/socket.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index b711f5b24c..33be479eb1 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -159,21 +159,6 @@ rb_getaddrinfo(nodename, servname, hints, res)
#define close closesocket
#endif
-#ifdef NT
-static void
-sock_finalize(fptr)
- OpenFile *fptr;
-{
- SOCKET s;
-
- if (!fptr->f) return;
- s = get_osfhandle(fileno(fptr->f));
- myfdclose(fptr->f);
- if (fptr->f2) myfdclose(fptr->f2);
- closesocket(s);
-}
-#endif
-
static VALUE
sock_new(class, fd)
VALUE class;
@@ -185,12 +170,7 @@ sock_new(class, fd)
MakeOpenFile(sock, fp);
fp->f = rb_fdopen(fd, "r");
-#ifdef NT
- fp->finalize = sock_finalize;
- fd = myfddup(fd);
-#else
fd = dup(fd);
-#endif
fp->f2 = rb_fdopen(fd, "w");
fp->mode = FMODE_READWRITE;
rb_io_synchronized(fp);
@@ -243,11 +223,7 @@ bsock_close_read(sock)
}
rb_thread_fd_close(fileno(fptr->f));
fptr->mode &= ~FMODE_READABLE;
-#ifdef NT
- myfdclose(fptr->f);
-#else
fclose(fptr->f);
-#endif
fptr->f = fptr->f2;
fptr->f2 = 0;
@@ -269,11 +245,7 @@ bsock_close_write(sock)
}
shutdown(fileno(fptr->f2), 1);
fptr->mode &= ~FMODE_WRITABLE;
-#ifdef NT
- myfdclose(fptr->f2);
-#else
fclose(fptr->f2);
-#endif
fptr->f2 = 0;
return Qnil;