Posted By: Eric Wong
Date: 2010-06-06 20:42
Summary: io_splice 2.1.0 - IO::Splice.copy_stream fixes
Project: Quack Ruby Projects
* http://bogomips.org/ruby_io_splice/ * ruby.io.splice@librelist.com />* git://git.bogomips.org/ruby_io_splice.git
Changes:
This fixes the issue with our copy_stream where non-pipe descriptors with the O_NONBLOCK flag set were not handled correctly. Like IO.copy_stream in Ruby 1.9, our IO::Splice.copy_stream will _always_ block until IO is available (or raise if there are errors).
IO::Splice.copy_stream now closes all file descriptors that were opened within the method, reducing pressure on the garbage collector.
There are also new singleton convenience methods:
* IO::Splice.full - blocks and splices the full amount * IO::Splice.partial - blocks until something is spliceable
They are used internally to implement IO::Splice.copy_stream, but may also be useful to end users.
Rcov shows 100% test coverage \o/ |
|