1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* io.c (copy_stream_body, rb_io_s_copy_stream): move rb_fd_init()

from copy_stream_body to rb_io_s_copy_stream. fds of passing
  rb_fd_term() have to be guaranteed initialized.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kosaki 2011-04-30 07:30:45 +00:00
parent 568c934373
commit 98c7ca9b65
2 changed files with 7 additions and 1 deletions

View file

@ -1,3 +1,9 @@
Sat Apr 30 16:27:09 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c (copy_stream_body, rb_io_s_copy_stream): move rb_fd_init()
from copy_stream_body to rb_io_s_copy_stream. fds of passing
rb_fd_term() have to be guaranteed initialized.
Sat Apr 30 16:13:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* benchmark/bm_io_select.rb, benchmark/bm_io_select2.rb: New.

2
io.c
View file

@ -8934,7 +8934,6 @@ copy_stream_body(VALUE arg)
return copy_stream_fallback(stp);
}
rb_fd_init(&stp->fds);
rb_fd_set(src_fd, &stp->fds);
rb_fd_set(dst_fd, &stp->fds);
@ -9013,6 +9012,7 @@ rb_io_s_copy_stream(int argc, VALUE *argv, VALUE io)
else
st.src_offset = NUM2OFFT(src_offset);
rb_fd_init(&st.fds);
rb_ensure(copy_stream_body, (VALUE)&st, copy_stream_finalize, (VALUE)&st);
return OFFT2NUM(st.total);