diff options
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/file.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mrblib/file.rb b/mrblib/file.rb index 243549cbb..048fbae80 100644 --- a/mrblib/file.rb +++ b/mrblib/file.rb @@ -14,7 +14,12 @@ class File < IO super(fd_or_path, mode) else @path = fd_or_path - fd = IO.sysopen(@path, mode, perm) + begin + fd = IO.sysopen(@path, mode, perm) + rescue Errno::EMFILE + GC.start + fd = IO.sysopen(@path, mode, perm) + end super(fd, mode) end end |
