The setup: CCI power6/32, VIOC tty controllers, Sytek LAN hardware.
The scenario: occasionally, our Sytek SMUX will get reset and users
will be disconnected from their power6/32 ports. Now _usually_, these
users' processes will receive the necessary signals which cause them
to clean themselves up and go away.
The problem: sometimes they don't. When this happens, a new user
can connect to the port from which an old user has been thrown off,
and, without having to log in, can gain control of the old user's
My questions: I've compared our tty driver to drivers written for
DH-11s and DZ-11s. In the situation I've described, both of these
drivers signal (SIGHUP and SIGCONT) the process group _before_
clearing the TS_CARR_ON flag in the tty struct; but our VIOC driver
clears the flag first, and then signals the process group.
Is this significant? Is there a race in the VIOC driver?
If not, would it help (or hurt) to raise the
processor priority level while cleaning up a detached line?