Don't install duplicate STREAMS modules on Solaris

Check if STREAMS modules are already installed on pty before installing
since when compiling with XPG>=4 they will likely be installed already.
Prevents hangs and duplicate lines on the terminal.  bz#2945 and bz#2998,
patch from djm@
This commit is contained in:
Darren Tucker 2019-04-26 18:06:34 +10:00
parent fd0fa130ec
commit b7b8334914

View File

@ -121,6 +121,15 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp,
return (-1);
}
# if defined(I_FIND) && defined(__SVR4)
/*
* If the streams modules have already been pushed then there
* is no more work to do here.
*/
if (ioctl(*aslave, I_FIND, "ptem") != 0)
return 0;
# endif
/*
* Try to push the appropriate streams modules, as described
* in Solaris pts(7).