1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 00:51:50 -08:00

(SETUP_SLAVE_PTY): Use the ptem module if it exists.

Don't complain if ttcompat does not exist.
This commit is contained in:
Richard M. Stallman 1999-01-28 03:49:39 +00:00
parent aa2d5fe49c
commit 35fc36a16b

View file

@ -16,9 +16,25 @@
/* pae@dim.com (Phil Ernhardt) says this correction to
the definition in usg5-4.h is needed to prevent
all asynchronous subprocesses from exiting right away. */
/* James Youngman <jay@gnu.org> found that on "DYNIX/ptx ARNIE 4.0
* V4.4.2 i386", the push of the ttcompat module would fail. It seems
* that PTX 4.4.2 doesn't have that module, so if the push fails we
* don't kill ourselves. While this version lacks ttcompat, it also
* has ptem, but the manual page for ptem indicates that it should
* be pushed onto the slave side before the line discipline module.
* See also the streampty manual page, if you're curious (and have
* a ptx system).
*/
/* rms: I hope that older versions which do have ttcompat
will not get confused by the code to use ptem. */
#undef SETUP_SLAVE_PTY
#define SETUP_SLAVE_PTY \
if (ioctl (xforkin, I_PUSH, "ptem") == -1 && errno != EINVAL) \
fatal ("ioctl I_PUSH ptem", errno); \
if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \
fatal ("ioctl I_PUSH ldterm", errno); \
if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
if (ioctl (xforkin, I_PUSH, "ttcompat") == -1 && errno != EINVAL) \
fatal ("ioctl I_PUSH ttcompat", errno);