ttydev_cdevsw has no d_purge

Ed Schouten ed at 80386.nl
Thu Aug 2 11:23:26 UTC 2012


2012/8/2 Julian Elischer <julian at freebsd.org>:
> I think that the /dev/entries can (and SHOULD) go away when the hardware
> goes away and even be re-used.

But here's the point. TTYs are used in a different way than other
device nodes. Regular device nodes are simply opened by a set of
independent process (e.g. dd if=/dev/da0, a music player opening
/dev/dsp, etc). TTYs are used by a set of processes that share a weak
relationship, namely all belonging to the same login session.

Things *really* break if you were to forcefully remove a TTY device
node and replace it by another TTY. Even for physical devices it would
be really bad to do. Consider a system that has two USB to serial
converters that are used for interactive login sessions. One is
plugged in, the other one isn't. If you unplug one device and plug in
the other, you never want the processes from the one login session to
start interacting with the other device.

Also, applications relying on the user accounting database (utmpx)
will start to behave non-deterministically then. Do we really want
biff and wall to write stuff to random TTYs?

Whether or not the TTY is a pseudo-terminal or not is completely
irrelevant in my opinion.

-- 
Ed Schouten <ed at 80386.nl>


More information about the freebsd-current mailing list