diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-10-01 15:25:49 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-10-01 15:25:49 +0000 |
commit | f638c09984f079cdddddb29d27c158aa9f89ed6a (patch) | |
tree | deeed06dbe680bd44fd7ccf0a3fff1077d43c5e5 /ext | |
parent | ab59aa3fb32a9be7325124f5d1c673ce04d7f873 (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.c | 28 |
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; |