On Sun, 18 Nov 2007, Robert Watson wrote:

On Sun, 18 Nov 2007, Dan Epure wrote:

7.0-BETA3 still has issues regarding the pts implementation . problems found: 1. - GNU screen: starting a screen, opening a few windows and quiting screen leaves the allocated pseudo terminal in use. 100 screen user, using each one opening 10 windows will deplete the default of 1000 pseudo terminals leaving the system unusable. 2. - 'ls /dev/ptmx' creates an additional entry in /dev/pty/. when the number of entries equals kern.pts.max the system became unusable.

The first of these is likely a reference management bug of some sort -- I find that if I close a pty in screen by exiting the shell, the pts device is GC'd properly, but if I close it by killing the session with ctrl-k, then the pts device is not properly GC'd and processes hung off it not properly killed. I believe that closing the master device is not properly kicking the slave device and causing its consumers to exit, hence the pts device not being closd and released. Christian was taking a look at this a couple of days ago, and I've CC'd him.

The second problem is more tricky, and has to do with the cloning model. Similar problems can exist with other variations on the ptmx implementation, and I need to give some thought to how to address this.

Dan,

So, thinking a bit more about the second problem, I think it is inherrent to the way we've designed the /dev/ptmx cloning model, which is unfortunate. My current leaning is to disable the ptmx mechanism in 7.0 and put together a revised one for 7.1. The reason to do this is to avoid encoding the user<->kernel interface for allocating pty's via ptmx along the current lines, which we'd then need to continue supporting in future releases. I'm going to spend a bit of time over the next day or two looking at revising the interface to fix these problems.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to