summaryrefslogtreecommitdiff
path: root/ext/pty
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-23 13:15:54 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-23 13:15:54 +0000
commit423bbf80d540ca189a87753c226c943dffda6acc (patch)
tree4c97f969fd904f2dd8f22d0209812aedbdd7203c /ext/pty
parent5677106ec905122398b330593fd9ec72df3a074e (diff)
* process.c (rb_fork): propagete an error message from child to parent.
(rb_f_exec): show details of error in child process on exception. (save_redirect_fd): add error message arguments. (run_exec_dup2): ditto. (run_exec_close): ditto. (run_exec_open): ditto. (run_exec_dup2_child): ditto. (run_exec_pgroup): ditto. (run_exec_rlimit): ditto. (rb_run_exec_options): ditto. (rb_exec): ditto. (rb_exec_atfork): ditto. (rb_spawn_internal): ditto. (rb_spawn): ditto. (rb_f_system): follow arguments change. (proc_daemon): ditto. (rb_f_spawn): show details of error in child process on exception. * io.c (popen_exec): add error message arguments. (pipe_open): show details of error in child process on exception. * include/ruby/intern.h (rb_run_exec_options): add error message arguments. (rb_exec): ditto. (rb_fork): ditto. (rb_spawn): ditto. * ext/pty/pty.c (chfunc): add error message arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/pty')
-rw-r--r--ext/pty/pty.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/pty/pty.c b/ext/pty/pty.c
index c44953ca13..02bf97566c 100644
--- a/ext/pty/pty.c
+++ b/ext/pty/pty.c
@@ -155,7 +155,7 @@ struct child_info {
};
static int
-chfunc(void *data)
+chfunc(void *data, char *errmsg, size_t errmsg_len)
{
struct child_info *carg = data;
int master = carg->master;
@@ -258,7 +258,7 @@ establishShell(int argc, VALUE *argv, struct pty_info *info,
carg.slavename = SlaveName;
carg.argc = argc;
carg.argv = argv;
- pid = rb_fork(0, chfunc, &carg, Qnil);
+ pid = rb_fork(0, chfunc, &carg, Qnil, NULL, 0);
if (pid < 0) {
close(master);