Any one got any pointers on this, the machine we running this app on is over 90% idle so I really don't want to have to install a second machine just to workaround a limit on the number of pty's, surely there's a way to increase this? Regards Steve ===============================================This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337 or return the E.mail to postmaster@multiplay.co.uk.
On Tue, Oct 02, 2007 at 02:05:03PM +0200, Dag-Erling Sm?rgrav wrote:> "Steven Hartland" <killing@multiplay.co.uk> writes: > > Any one got any pointers on this, the machine we running this app on is over > > 90% idle so I really don't want to have to install a second machine just to > > workaround a limit on the number of pty's, surely there's a way to increase > > this? > > You need to change the way ptys are named in pty_create_slave() and > pty_clone() in sys/kern/tty_pty.c. Just changing names won't help as > the sequence is also hardcoded in pty_clone(). > > You also need to change grantpt(), openpty() and any other userland code > which has hardcoded knowledge of the naming scheme: > > des@ds4 ~% gfs pqrsPQRS > src/sys/kern/tty_pty.c: static char *names = "pqrsPQRS"; > src/sys/kern/tty_pty.c: * pts == /dev/tty[pqrsPQRS][0123456789abcdefghijklmnopqrstuv] > src/sys/kern/tty_pty.c: * ptc == /dev/pty[pqrsPQRS][0123456789abcdefghijklmnopqrstuv] > src/contrib/telnet/telnetd/sys_term.c: for (cp = "pqrsPQRS"; *cp; cp++) { > src/usr.sbin/ac/ac.c: strchr("pqrsPQRS", usr.ut_line[3]) != 0 || > src/lib/libutil/pty.c: for (cp1 = "pqrsPQRS"; *cp1; cp1++) { > src/lib/libc/stdlib/grantpt.c: #define PT_DEV1 "pqrsPQRS" > > Alternatively, set kern.pts.enable to 1, and find and fix the > hang-on-close bug in the pts code (if it hasn't been fixed already)This last option is only available if you are running 7-CURRENT though. The pts code is not in 6-STABLE (or older.) -- <Insert your favourite quote here.> Erik Trulsson ertr1013@student.uu.se
"Steven Hartland" <killing@multiplay.co.uk> writes:> Any one got any pointers on this, the machine we running this app on is over > 90% idle so I really don't want to have to install a second machine just to > workaround a limit on the number of pty's, surely there's a way to increase > this?You need to change the way ptys are named in pty_create_slave() and pty_clone() in sys/kern/tty_pty.c. Just changing names won't help as the sequence is also hardcoded in pty_clone(). You also need to change grantpt(), openpty() and any other userland code which has hardcoded knowledge of the naming scheme: des@ds4 ~% gfs pqrsPQRS src/sys/kern/tty_pty.c: static char *names = "pqrsPQRS"; src/sys/kern/tty_pty.c: * pts == /dev/tty[pqrsPQRS][0123456789abcdefghijklmnopqrstuv] src/sys/kern/tty_pty.c: * ptc == /dev/pty[pqrsPQRS][0123456789abcdefghijklmnopqrstuv] src/contrib/telnet/telnetd/sys_term.c: for (cp = "pqrsPQRS"; *cp; cp++) { src/usr.sbin/ac/ac.c: strchr("pqrsPQRS", usr.ut_line[3]) != 0 || src/lib/libutil/pty.c: for (cp1 = "pqrsPQRS"; *cp1; cp1++) { src/lib/libc/stdlib/grantpt.c: #define PT_DEV1 "pqrsPQRS" Alternatively, set kern.pts.enable to 1, and find and fix the hang-on-close bug in the pts code (if it hasn't been fixed already) DES -- Dag-Erling Sm?rgrav - des@des.no