From abf832f4357b02ab40a1bbcb6e59bbc1c35d2817 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 16 Oct 2015 06:54:38 +0000 Subject: file.c: non-blocking open * file.c (rb_file_load_ok): open in non-blocking mode withoout releasing GVL. don't care about others than regular files and directories. [ruby-dev:49272] [Bug #11559] * ruby.c (load_file_internal): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ruby.c') diff --git a/ruby.c b/ruby.c index 2d4c64b62a..6899ac2403 100644 --- a/ruby.c +++ b/ruby.c @@ -1739,6 +1739,11 @@ load_file_internal(VALUE arg) } else { int fd, mode = O_RDONLY; +#if defined O_NONBLOCK + mode |= O_NONBLOCK; +#elif defined O_NDELAY + mod |= O_NDELAY; +#endif #if defined DOSISH || defined __CYGWIN__ { const char *ext = strrchr(fname, '.'); -- cgit v1.2.3