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
- [email protected]
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
There are several other small cleanups.
Eric W. (6):
copy_stream: small cleanup for pipe splicing
limit maximum splice length to 1 << 30
avoid uname() for pipe size modification checks
vmsplice: avoid referencing invalid stack address for strings
vmsplice: more consistent fileno retry handling