summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-01-03 04:03:47 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-01-03 04:03:47 +0000
commit467e07c53c4292f0ba75c87aa944566fffa9d6b4 (patch)
treec1f0d3eb38e46174af51ed2208ac66c98304260c
parentd87e2f70f94d8642e67a2f9771260b8ec8f61e21 (diff)
downloadruby-467e07c53c4292f0ba75c87aa944566fffa9d6b4.tar.gz
ruby-467e07c53c4292f0ba75c87aa944566fffa9d6b4.tar.xz
ruby-467e07c53c4292f0ba75c87aa944566fffa9d6b4.zip
* io.c (ruby_dup): start GC on ENOMEM as well.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--io.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index aa43d9e6c..3a0074b68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Jan 3 11:36:51 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (ruby_dup): start GC on ENOMEM as well.
+
Tue Jan 2 10:29:54 2007 Eric Hodel <drbrain@segment7.net>
* ext/zlib/zlib.c: fix to compile on YARV
diff --git a/io.c b/io.c
index 639f40b06..9e8710897 100644
--- a/io.c
+++ b/io.c
@@ -363,7 +363,7 @@ ruby_dup(int orig)
fd = dup(orig);
if (fd < 0) {
- if (errno == EMFILE || errno == ENFILE) {
+ if (errno == EMFILE || errno == ENFILE || errno == ENOMEM) {
rb_gc();
fd = dup(orig);
}