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:
@ -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])])
|
||||
|
||||
|
@ -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");
|
||||
|
Reference in New Issue
Block a user