summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-05 11:12:17 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-05 11:12:17 +0000
commit952fbdf450678ff1ddd9e0fbafa84e0059215b30 (patch)
treee85c63d11c786933f8d48b8590514d8f71aa1f78
parent85a4190da8f4be660e6e5a8baa638c60551f9754 (diff)
downloadruby-952fbdf450678ff1ddd9e0fbafa84e0059215b30.tar.gz
ruby-952fbdf450678ff1ddd9e0fbafa84e0059215b30.tar.xz
ruby-952fbdf450678ff1ddd9e0fbafa84e0059215b30.zip
* io.c (io_fflush): IO#flush problem within threads. a patch from
<s.wanabe at gmail.com> in [ruby-dev:34595]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--io.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d4a339045..9453b52f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon May 5 20:07:59 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (io_fflush): IO#flush problem within threads. a patch from
+ <s.wanabe at gmail.com> in [ruby-dev:34595].
+
Mon May 5 19:58:44 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* compile.c (defined_expr): protect some expression from
diff --git a/io.c b/io.c
index 4c9a50d80..6770b41e1 100644
--- a/io.c
+++ b/io.c
@@ -584,8 +584,8 @@ io_fflush(rb_io_t *fptr)
return 0;
}
if (0 <= r) {
- fptr->wbuf_off = r;
- fptr->wbuf_len = r;
+ fptr->wbuf_off += r;
+ fptr->wbuf_len -= r;
errno = EAGAIN;
}
if (rb_io_wait_writable(fptr->fd)) {