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 | a9e797ce1073b46e5333d00e05ea97f2a44475e0 (patch) | |
| tree | 8efdcb3a17ee68412290531fb152625147555aac /ext | |
| parent | 09b6c6a3bcb12d61a827a64a667293f2c970c901 (diff) | |
| download | ruby-a9e797ce1073b46e5333d00e05ea97f2a44475e0.tar.gz ruby-a9e797ce1073b46e5333d00e05ea97f2a44475e0.tar.xz ruby-a9e797ce1073b46e5333d00e05ea97f2a44475e0.zip | |
* ext/pty/pty.c (child_info): add slavename.
(chfunc): use slavename.
(establishShell): set slavename.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
| -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 b7da3d17a..cb147386a 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); |
