* io.c (rb_io_syswrite): While local FS writes are usually

buffered, the buffers can be full or the file opened with
  O_SYNC. IO#syswrite can also be used on blocking IOs
  (pipe/socket) just like IO#write.
  The patch is written by Eric Wong. [ruby-core:35554]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kosaki 2011-04-04 12:43:28 +00:00
Родитель b36f8e6e13
Коммит 3ba502d5f0
2 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,11 @@
Mon Apr 4 21:41:26 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (rb_io_syswrite): While local FS writes are usually
buffered, the buffers can be full or the file opened with
O_SYNC. IO#syswrite can also be used on blocking IOs
(pipe/socket) just like IO#write.
The patch is written by Eric Wong. [ruby-core:35554]
Mon Apr 4 11:50:40 2011 NAKAMURA Usaku <usa@ruby-lang.org>
* test/test_tempfile.rb: simply ignore platform depedent testcases

2
io.c
Просмотреть файл

@ -3958,7 +3958,7 @@ rb_io_syswrite(VALUE io, VALUE str)
rb_io_check_closed(fptr);
}
n = write(fptr->fd, RSTRING_PTR(str), RSTRING_LEN(str));
n = rb_write_internal(fptr->fd, RSTRING_PTR(str), RSTRING_LEN(str));
if (n == -1) rb_sys_fail_path(fptr->pathv);