1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

ruby.c: retry loading with GC

* ruby.c (open_load_file): retry after GC when the limit for open
  file descriptors reached.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-10-21 07:06:27 +00:00
parent 0ce605225f
commit 4791b2bc22
2 changed files with 12 additions and 1 deletions

View file

@ -1,3 +1,8 @@
Fri Oct 21 16:06:25 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (open_load_file): retry after GC when the limit for open
file descriptors reached.
Fri Oct 21 11:34:17 2016 Pascal Schmid <Lechindianer@users.noreply.github.com>
* string.c (rb_str_sub, rb_str_gsub): [DOC] 'backlash' should read

8
ruby.c
View file

@ -1899,7 +1899,13 @@ open_load_file(VALUE fname_v, int *xflag)
#endif
if ((fd = rb_cloexec_open(fname, mode, 0)) < 0) {
rb_load_fail(fname_v, strerror(errno));
int e = errno;
if (!rb_gc_for_fd(e)) {
rb_load_fail(fname_v, strerror(e));
}
if ((fd = rb_cloexec_open(fname, mode, 0)) < 0) {
rb_load_fail(fname_v, strerror(errno));
}
}
rb_update_max_fd(fd);