1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-30 11:02:48 -05:00

Patch from Brad Smith to use posix_openpt() instead of

open("/dev/ptmx"), where the former is available. Improves
portability, since at least one OS (OpenBSD) supports the POSIX pty
functions but does it via an underlying mechanism which doesn't
involving having a /dev/ptmx.

[originally from svn r9728]
This commit is contained in:
Simon Tatham
2012-12-18 09:02:38 +00:00
parent 25c45bf043
commit 7c22b1d755
2 changed files with 10 additions and 1 deletions

View File

@ -118,7 +118,7 @@ AC_CHECK_LIB(X11, XOpenDisplay,
[GTK_LIBS="-lX11 $GTK_LIBS"
AC_DEFINE([HAVE_LIBX11],[],[Define if libX11.a is available])])
AC_CHECK_FUNCS([getaddrinfo ptsname setresuid strsignal updwtmpx])
AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx])
AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include <time.h>]])
AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Define if clock_gettime() is available])])

View File

@ -342,12 +342,21 @@ static void pty_open_master(Pty pty)
#endif
;
#ifdef HAVE_POSIX_OPENPT
pty->master_fd = posix_openpt(flags);
if (pty->master_fd < 0) {
perror("posix_openpt");
exit(1);
}
#else
pty->master_fd = open("/dev/ptmx", flags);
if (pty->master_fd < 0) {
perror("/dev/ptmx: open");
exit(1);
}
#endif
if (grantpt(pty->master_fd) < 0) {
perror("grantpt");