🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.unix
Article #1330

controlling terminals in POSIX

#1330
From: Gerry Baumgartner
Date: Fri, 05 Jan 1990 23:03
44 lines
2889 bytes
From: gerry@SSD.CSD.HARRIS.COM (Gerry Baumgartner)

I have a few questions on controlling terminals in POSIX.   I don't know 
whether the supplements address these questions.

1) 7.1.1.3  "The Controlling Terminal" says that a process relinquishes its
controlling terminal when it creates a new session with setsid(), or when all
file descriptors associated with the controlling terminal have been closed.
Also, if a process which is not a session leader opens a terminal file, that
terminal shall not become the controlling terminal of the calling process.

Currently in the System V implemention, after a process has closed all it's
file descriptors to the controlling terminal, he CAN open /dev/tty and be
"reconnected" to it, and thus have a controlling terminal again.  But /dev/tty 
is a terminal file isn't it?  Does that mean that it should not be allowed to
be opened after a process has "relinquished" it?   I understand that if the
controlling terminal was say, /dev/tty15, and a non-session-leader relinquished
it and the tried to open /dev/tty23, the new tty should not become the
controlling terminal for the process.   But /dev/tty seems to be a special
case that the standard doesn't address.

And it seems to me the only time that "relinquishing" a controlling terminal 
has any real consequences is when the session leader does it.  At that point, 
in the words of the standard, processes of the session MAY be denied access to
what once was their controlling	terminal. 

2) 7.1.1.9  "Special Characters", for INTR and QUIT says that the signal is
sent to all processes in the foreground process group for which the terminal is
the controlling terminal.

This to me is somewhat ambiguous.  Do all the processes in the foreground
process group get the signal or just those processes that have not relinquished
their controlling terminal by closing all their file descriptors to it?


Any comments regarding these questions would be appreciated.
-------------------------------------------------------------------------------
Gerry Baumgartner                |    gerry@ssd.csd.harris.com 
System Software Development      | or gerry%ssd.csd.harris.com@eddie.mit.edu
Harris Computer Systems Division | or ...!{mit-eddie,uunet,novavax}!hcx1!gerry
Fort Lauderdale FL 33309         |
-------------------------------------------------------------------------------

Volume-Number: Volume 18, Number 7
Technical Details
Message-ID: <497@longway.TIC.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!longway!std-unix

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!longway!std-unix
From: gerry@SSD.CSD.HARRIS.COM (Gerry Baumgartner)
Newsgroups: comp.std.unix
Subject: controlling terminals in POSIX
Message-ID: <497@longway.TIC.COM>
Date: 5 Jan 90 23:03:11 GMT
Sender: std-unix@longway.TIC.COM
Reply-To: gerry@SSD.CSD.HARRIS.COM (Gerry Baumgartner)
Lines: 44
Approved: jsq@longway.tic.com (Moderator, John S. Quarterman)