Mercurial > emacs
changeset 24210:4dc06f8c8c33
(SETUP_SLAVE_PTY): Use the ptem module if it exists.
Don't complain if ttcompat does not exist.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 28 Jan 1999 03:49:39 +0000 |
parents | d0853770c8e7 |
children | 9ecc7b851682 |
files | src/s/ptx4.h |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/s/ptx4.h Thu Jan 28 03:13:51 1999 +0000 +++ b/src/s/ptx4.h Thu Jan 28 03:49:39 1999 +0000 @@ -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);