tag name | v2.1.0 (932558168968312a05fdcd85b66b2064509fe52d) |
tag date | 2010-06-06 20:37:43 +0000 |
tagged by | Eric Wong <normalperson@yhbt.net> |
tagged object | commit 52ec5be1ba... |
download | ruby_io_splice-2.1.0.tar.gz |
---|
Ruby io_splice 2.1.0 - IO::Splice.copy_stream fixes
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/