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 * http://bogomips.org/ruby_io_splice/NEWS.atom.xml 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
on 2013-01-19 09:29
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.