Backout part of my previous change that changed MIN/TIME to VMIN/VTIME

throughout the man page.  Only some of these were corrected.

Pointed out by: bde
This commit is contained in:
Mike Pritchard 1997-03-18 07:17:22 +00:00
parent 862e2d600b
commit 5f1376d7ec
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=23979

View File

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)termios.4 8.4 (Berkeley) 4/19/94
.\" $Id: termios.4,v 1.4 1997/03/07 02:49:36 jmg Exp $
.\" $Id: termios.4,v 1.5 1997/03/14 05:01:14 mpp Exp $
.\"
.Dd April 19, 1994
.Dt TERMIOS 4
@ -354,54 +354,54 @@ members of the
array are used to determine how to
process the bytes received.
.Pp
.Dv VMIN
.Dv MIN
represents the minimum number of bytes that should be received when
the
.Xr read 2
function successfully returns.
.Dv VTIME
.Dv TIME
is a timer of 0.1 second
granularity that is used to time out bursty and short term data
transmissions. If
.Dv VMIN
.Dv MIN
is greater than
.Dv \&{ Dv MAX_INPUT Ns \&} ,
the response to the
request is undefined. The four possible values for
.Dv VMIN
.Dv MIN
and
.Dv VTIME
.Dv TIME
and
their interactions are described below.
.Ss "Case A: VMIN > 0, VTIME > 0"
.Ss "Case A: MIN > 0, TIME > 0"
In this case
.Dv VTIME
.Dv TIME
serves as an inter-byte timer and is activated after
the first byte is received. Since it is an inter-byte timer, it is reset
after a byte is received. The interaction between
.Dv VMIN
.Dv MIN
and
.Dv VTIME
.Dv TIME
is as
follows: as soon as one byte is received, the inter-byte timer is
started. If
.Dv VMIN
.Dv MIN
bytes are received before the inter-byte timer expires
(remember that the timer is reset upon receipt of each byte), the read is
satisfied. If the timer expires before
.Dv VMIN
.Dv MIN
bytes are received, the
characters received to that point are returned to the user. Note that if
.Dv VTIME
.Dv TIME
expires at least one byte is returned because the timer would
not have been enabled unless a byte was received. In this case
.Pf \&( Dv VMIN
.Pf \&( Dv MIN
> 0,
.Dv VTIME
.Dv TIME
> 0) the read blocks until the
.Dv VMIN
.Dv MIN
and
.Dv VTIME
.Dv TIME
mechanisms are
activated by the receipt of the first byte, or a signal is received. If
data is in the buffer at the time of the
@ -409,27 +409,27 @@ data is in the buffer at the time of the
the result is as
if data had been received immediately after the
.Fn read .
.Ss "Case B: VMIN > 0, VTIME = 0"
.Ss "Case B: MIN > 0, TIME = 0"
In this case, since the value of
.Dv VTIME
.Dv TIME
is zero, the timer plays no role
and only
.Dv VMIN
.Dv MIN
is significant. A pending read is not satisfied until
.Dv VMIN
.Dv MIN
bytes are received (i.e., the pending read blocks until
.Dv VMIN
.Dv MIN
bytes
are received), or a signal is received. A program that uses this case to
read record-based terminal
.Dv I/O
may block indefinitely in the read
operation.
.Ss "Case C: VMIN = 0, VTIME > 0"
.Ss "Case C: MIN = 0, TIME > 0"
In this case, since
.Dv VMIN
.Dv MIN
= 0,
.Dv VTIME
.Dv TIME
no longer represents an inter-byte
timer. It now serves as a read timer that is activated as soon as the
read function is processed. A read is satisfied as soon as a single
@ -438,12 +438,12 @@ the timer expires, no bytes are returned. If the timer does not
expire, the only way the read can be satisfied is if a byte is received.
In this case the read will not block indefinitely waiting for a byte; if
no byte is received within
.Dv VTIME Ns *0.1
.Dv TIME Ns *0.1
seconds after the read is initiated,
the read returns a value of zero, having read no data. If data is
in the buffer at the time of the read, the timer is started as if
data had been received immediately after the read.
.Ss Case D: VMIN = 0, VTIME = 0
.Ss Case D: MIN = 0, TIME = 0
The minimum of either the number of bytes requested or the number of
bytes currently available is returned without waiting for more
bytes to be input. If no characters are available, read returns a
@ -1290,10 +1290,10 @@ If
.Dv ICANON
is not set, read requests are satisfied directly from the input
queue. A read is not satisfied until at least
.Dv VMIN
.Dv MIN
bytes have been
received or the timeout value
.Dv VTIME
.Dv TIME
expired between bytes. The time value
represents tenths of seconds. See
.Sx "Noncanonical Mode Input Processing"