From 74e1cc9e55eae39b2adcbdec1d4bff0b70bf0c88 Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 20 Jul 2005 09:14:30 +0000 Subject: [PATCH] * io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT by F_SETFL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ io.c | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index c0962089ba..e1e9a60762 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jul 20 18:07:11 2005 Tanaka Akira + + * io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT + by F_SETFL. + Wed Jul 20 10:04:51 2005 Yukihiro Matsumoto * variable.c (rb_class_path): need to adjust snprintf() len for diff --git a/io.c b/io.c index 89d05ed14d..10bbe574c3 100644 --- a/io.c +++ b/io.c @@ -4843,6 +4843,16 @@ rb_io_ctl(io, req, arg, io_p) rb_raise(rb_eArgError, "return value overflowed string"); } + if (!io_p && cmd == F_SETFL) { + if (narg & O_NONBLOCK) { + fptr->mode |= FMODE_WSPLIT_INITIALIZED; + fptr->mode &= ~FMODE_WSPLIT; + } + else { + fptr->mode &= ~(FMODE_WSPLIT_INITIALIZED|FMODE_WSPLIT); + } + } + return INT2NUM(retval); #else rb_notimplement();