summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-20 09:14:30 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-20 09:14:30 +0000
commita6b1616d71f1abde204f9b6e995ab7f8097a9918 (patch)
tree5bbd5478de93d2fb437a6d38fc1d3cd2eea86b44
parent7617c58b71a00a8c447b606bd95539a791e02d7b (diff)
downloadruby-a6b1616d71f1abde204f9b6e995ab7f8097a9918.tar.gz
ruby-a6b1616d71f1abde204f9b6e995ab7f8097a9918.tar.xz
ruby-a6b1616d71f1abde204f9b6e995ab7f8097a9918.zip
* io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT
by F_SETFL. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--io.c10
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c0962089b..e1e9a6076 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jul 20 18:07:11 2005 Tanaka Akira <akr@m17n.org>
+
+ * io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT
+ by F_SETFL.
+
Wed Jul 20 10:04:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
* variable.c (rb_class_path): need to adjust snprintf() len for
diff --git a/io.c b/io.c
index 89d05ed14..10bbe574c 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();