diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-04-01 08:31:49 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-04-01 08:31:49 +0000 |
commit | de373b1b6cddf602cad483b7ede7b378666d837c (patch) | |
tree | a528c42a0de4c92f7dd999523f0b477d2f4faa6c /ext/socket/socket.c | |
parent | 360453ce14e637e653005232aab50e6294a3fa48 (diff) | |
download | ruby-de373b1b6cddf602cad483b7ede7b378666d837c.tar.gz |
* io.c (rb_io_fptr_cleanup): need flush even when io will not be
closed.
* io.c (rb_io_initialize): was calling wrong function
rb_io_mode_flags().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket/socket.c')
-rw-r--r-- | ext/socket/socket.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c index b3cdf6248a..cc76bec78c 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -186,7 +186,6 @@ init_sock(sock, fd) fp->f = rb_fdopen(fd, "r"); #ifdef NT fp->finalize = sock_finalize; -#else #endif fp->f2 = rb_fdopen(fd, "w"); fp->mode = FMODE_READWRITE; @@ -199,7 +198,13 @@ static VALUE bsock_s_for_fd(klass, fd) VALUE klass, fd; { - return init_sock(rb_obj_alloc(klass), NUM2INT(fd)); + OpenFile *fptr; + VALUE sock = init_sock(rb_obj_alloc(klass), NUM2INT(fd)); + + GetOpenFile(sock, fptr); + fptr->mode |= FMODE_FDOPEN; + + return sock; } static VALUE |