diff options
author | glass <glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-22 08:47:39 +0000 |
---|---|---|
committer | glass <glass@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-22 08:47:39 +0000 |
commit | 072ed558d5b27f484ba4fb65f5e778ffad54d951 (patch) | |
tree | 32364bcebfff775b2f38abf879f815b9b965aec3 /io.c | |
parent | 161f4a511ad01c0e7f013b03aae6afd4c386b1df (diff) | |
download | ruby-072ed558d5b27f484ba4fb65f5e778ffad54d951.tar.gz |
io.c: ignore EPERM
* io.c (nogvl_copy_file_range): ignore EPERM and fallback to
sendfile(2) or read/write. copy_file_range(2) may not exist
even if __NR_copy_file_range is defined in the build environment.
[Bug #14207]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -10783,6 +10783,8 @@ nogvl_copy_file_range(struct copy_stream_struct *stp) } switch (errno) { case EINVAL: + case EPERM: /* copy_file_range(2) doesn't exist (may happen in + docker container) */ #ifdef ENOSYS case ENOSYS: #endif |