term% cat index.txt PT(4) Kernel Interfaces Manual PT(4)
NAME
pt - interprocess I/O junctor files
DESCRIPTION
These special files, conventionally collected in directory /dev/pt,
provide a facility for interprocess communication. The name ‘pt' comes
from ‘pseudo-tty,' after vaguely similar mechanisms in other systems.
Pt files come in even-odd pairs. If one process opens an odd numbered
pt file, and another opens the corresponding even file, then data writ‐
ten on one file is available for reading on its partner, in symmetrical
full-duplex fashion. ‘Record' boundaries are preserved, where a record
is the information presented in one write call. Thus a reader attempt‐
ing to read into a large buffer will receive chunks of data correspond‐
ing to the amounts generated by each call to write.
The odd-numbered member of a pair is the master. Masters and slaves
differ only in the rules for opening; IO is symmetrical. Master pt
files may be opened by at most one process. Thus the following strat‐
egy is appropriate for establishing communications: one process
searches the /dev/pt directory for an odd-numbered file it can open;
when it finds one, it publishes the name in some way. Typically, it
will either fork off a child process that knows the name by sharing
variables, or place the name in some conventional place. Then one or
more slave processes may open the corresponding even-numbered file and
communicate with the master.
Once both even- and odd-numbered members of a pair have been opened,
the communications channel is shut down when the file on either side is
closed for the last time. Thus a master process that expects several
unrelated processes to open the even pt corresponding to its odd pt
should keep the even pt open.
Pt files are stream devices and line discipline modules (see stream(4))
may be attached to them.
SEE ALSO
stream(4), ptopen(3)
BUGS
Writes are not atomic, in general. However, several slow writers may
write small messages to a fast reader and achieve the illusion of atom‐
icity.
PT(4)