summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortarui <tarui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-31 16:16:39 +0000
committertarui <tarui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-31 16:16:39 +0000
commita8ced88a3eab605161bedaacf22f7849b00fd978 (patch)
tree3c1c06161b65ad83983eb9e3ee8ff2d6c42b45e6
parente0fe9a8eec481817eac7d8a6b11152992ccff3b9 (diff)
* io.c (pipe_open): add RB_GC_GUARD.
This caused failure when test/ruby/test_argf.rb is executed with GC.stress = true in mswin32_90 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--io.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3e38e717fb..ac9980ffc4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Jun 1 01:14:31 2010 Masaya Tarui <tarui@ruby-lnag.org>
+
+ * io.c (pipe_open): add RB_GC_GUARD.
+ This caused failure when test/ruby/test_argf.rb is executed with
+ GC.stress = true in mswin32_90
+
Mon May 31 19:25:58 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* regparse.c (onig_syntax_warn): do not use external strings as
diff --git a/io.c b/io.c
index d5fc02e299..6835cc0ef7 100644
--- a/io.c
+++ b/io.c
@@ -5112,6 +5112,9 @@ pipe_open(struct rb_exec_arg *eargp, VALUE prog, const char *modestr, int fmode,
break;
}
}
+
+ RB_GC_GUARD(argbuf);
+
if (eargp)
rb_run_exec_options(&sarg, NULL);
if ((fmode & FMODE_READABLE) && (fmode & FMODE_WRITABLE)) {