- Warning was valid - possible race condition on PTYs. Avoided using
platform-specific code.
- Document some common problems
diff --git a/configure.in b/configure.in
index 1cb4652..e5bdc44 100644
--- a/configure.in
+++ b/configure.in
@@ -55,6 +55,7 @@
;;
*-*-linux*)
no_dev_ptmx=1
+ need_pty_removed_on_close=1
;;
*-*-netbsd*)
need_dash_r=1
@@ -518,9 +519,27 @@
fi
if test -z "$no_dev_ptmx" ; then
- AC_CHECK_FILE("/dev/ptmx", AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX))
+ AC_CHECK_FILE("/dev/ptmx",
+ [
+ AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX)
+ have_dev_ptmx=1
+ ]
+ )
fi
-AC_CHECK_FILE("/dev/ptc", AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC))
+AC_CHECK_FILE("/dev/ptc",
+ [
+ AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC)
+ have_dev_ptc=1
+ ]
+)
+
+# Some systems (defined in platform-specific code above) automagically remove
+# Unix98 ptys when they are closed
+if test "x$ac_cv_func_openpty" = "xyes" -o "x$have_dev_ptmx" = "x1" -o "x$have_dev_ptc" = "x1" ; then
+ if test "x$need_pty_removed_on_close" = "x1" ; then
+ AC_DEFINE(PTY_REMOVED_ON_CLOSE)
+ fi
+fi
# Options from here on. Some of these are preset by platform above