diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-15 12:01:08 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-15 12:01:08 +0000 |
commit | 9bfd822bd1547e2e6bc549606159de1cb980690e (patch) | |
tree | 8efdcb3a17ee68412290531fb152625147555aac /ext/pty | |
parent | ebed0a6e9afc24d53c19222a38268a01691bac8f (diff) | |
download | ruby-9bfd822bd1547e2e6bc549606159de1cb980690e.tar.gz |
* ext/pty/pty.c (child_info): add slavename.
(chfunc): use slavename.
(establishShell): set slavename.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/pty')
-rw-r--r-- | ext/pty/pty.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/pty/pty.c b/ext/pty/pty.c index b7da3d17ab..cb147386a7 100644 --- a/ext/pty/pty.c +++ b/ext/pty/pty.c @@ -145,6 +145,7 @@ pty_exec(VALUE v) struct child_info { int master, slave; + char *slavename; int argc; VALUE *argv; }; @@ -193,7 +194,7 @@ int chfunc(void *data) /* errors ignored for sun */ #else close(slave); - slave = open(SlaveName, O_RDWR); + slave = open(carg->slavename, O_RDWR); if (slave < 0) { perror("open: pty slave"); _exit(1); @@ -249,6 +250,7 @@ establishShell(int argc, VALUE *argv, struct pty_info *info, carg.master = master; carg.slave = slave; + carg.slavename = SlaveName; carg.argc = argc; carg.argv = argv; pid = rb_fork(0, chfunc, &carg, Qnil); |