summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-05 03:18:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-05 03:18:03 +0000
commit1cf7194e0cda863a75318bfac66cc9e3acebf534 (patch)
tree42c05642b459ea05d808fca6b3768334687b01cf
parent12ae5bb8929ba607b723702233eb814e953b4991 (diff)
* process.c (proc_spawn_v): should spawn, not exec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--process.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 01cd3c4b4e..b0b13130be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Nov 5 12:17:59 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * process.c (proc_spawn_v): should spawn, not exec.
+
Fri Nov 5 01:21:31 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* process.c (proc_exec_v, proc_spawn_v): try to execute with sh if
diff --git a/process.c b/process.c
index dbcf9219c1..ffeba3317f 100644
--- a/process.c
+++ b/process.c
@@ -1184,7 +1184,9 @@ proc_spawn_v(char **argv, char *prog)
status = spawnv(P_WAIT, prog, argv);
preserving_errno({
rb_last_status_set(status == -1 ? 127 : status, 0);
- try_with_sh(prog, argv);
+ *argv = (char *)prog;
+ *--argv = (char *)"sh";
+ status = spawnv("/bin/sh", argv);
after_exec();
});
return status;