Posted By: Eric Wong
Date: 2013-01-19 08:25
Summary: io_splice 4.2.0 - several bugfixes and workarounds
Project: Quack Ruby Projects
The splice family of Linux system calls can transfer data between file descriptors without the need to copy data into userspace. Instead of a userspace buffer, they rely on an ordinary Unix pipe as a kernel-level buffer.
* http://bogomips.org/ruby_io_splice/ * ruby.io.splice@librelist.org />* git://bogomips.org/ruby_io_splice.git
Changes:
We now limit maximum splice length to (1<<30) to avoid EINVAL errors on 64-bit hosts.
vmsplice no longer raises Errno::EFAULT optimizations in newer GCC (not that I've found a good use for vmsplice at all with Ruby...)
There are several other small cleanups.
Eric Wong (6): copy_stream: small cleanup for pipe splicing limit maximum splice length to 1 << 30 avoid uname() for pipe size modification checks doc: s/librelist.com/librelist.org/ vmsplice: avoid referencing invalid stack address for strings vmsplice: more consistent fileno retry handling |
|