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 | cc6e48dde287085880eb37bd3310679daf50f4dc (patch) | |
tree | 32364bcebfff775b2f38abf879f815b9b965aec3 /io.c | |
parent | 9b7952bc85ffdc6799b9988a35942960b4b8a84e (diff) | |
download | ruby-cc6e48dde287085880eb37bd3310679daf50f4dc.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 |