summaryrefslogtreecommitdiff
path: root/ext/pty
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-12-10 05:50:12 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-12-10 05:50:12 +0000
commite5d803e671c4814074cbdb652436c1599e8e2549 (patch)
tree8f5ad8800ed2970add6337d7cb587cefc4866f09 /ext/pty
parent3db654d88a95171401581b00c50b00e63cb6b7e0 (diff)
* ext/pty/pty.c (HAVE_SYS_IOCTL_H): already defined at config.h, so
use it. * ext/pty/pty.c (establishShell): should close descriptors if fork failed. (ruby-bugs:PR#1211) based on gotoyuzo's patch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/pty')
-rw-r--r--ext/pty/pty.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/pty/pty.c b/ext/pty/pty.c
index 01382e8..0858f97 100644
--- a/ext/pty/pty.c
+++ b/ext/pty/pty.c
@@ -6,7 +6,7 @@
#include <fcntl.h>
#include <errno.h>
#include <pwd.h>
-#if !defined(HAVE_OPENPTY) && !defined(HAVE__GETPTY)
+#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
#ifdef HAVE_LIBUTIL_H
@@ -229,6 +229,8 @@ establishShell(argc, argv, info)
info->thread = rb_thread_current();
currentPid = getpid();
if((i = fork()) < 0) {
+ close(master);
+ close(slave);
rb_sys_fail("fork failed");
}