Skip to content

Commit fdcf2af

Browse files
committed
Remove value judgements
1 parent eedc197 commit fdcf2af

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

Doc/library/pty.rst

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,19 @@ The :mod:`pty` module defines the following functions:
4848
will return.
4949

5050
The functions *master_read* and *stdin_read* are passed a file descriptor
51-
which they should read from, and they should always return a byte
52-
string. Returning an empty byte string from either callback is interpreted as
53-
an end-of-file (EOF) condition, and that callback will not be called after
54-
that. This is not recommended. Instead, the graceful way to force the *spawn*
55-
to return before the child process exits is to raise *OsError*.
56-
57-
In general, manually signaling EOF without receiving it from the underlying
58-
file descriptor from one or both of the read callbacks will not behave
59-
well. If *stdin_read* signals EOF the controlling terminal can no longer
51+
which they should read from, and they should always return a byte string. In
52+
order to force spawn to return before the child process exits an *OsError*
53+
should be thrown.
54+
55+
The default implementation for both functions will read and return up to 1024
56+
bytes each time the function is called. *Master_read* is passed the
57+
pseudoterminal’s master file descriptor to read output from the child
58+
process, and *stdin_read* is passed file descriptor 0, to read from the
59+
parent process's standard input.
60+
61+
Returning an empty byte string from either callback is interpreted as an
62+
end-of-file (EOF) condition, and that callback will not be called after
63+
that. If *stdin_read* signals EOF the controlling terminal can no longer
6064
communicate with the parent process OR the child process. Unless the child
6165
process will quit without any input, *spawn* will then loop forever. If
6266
*master_read* signals EOF the same behavior results (on linux at least).
@@ -65,11 +69,6 @@ The :mod:`pty` module defines the following functions:
6569
*select* throws an error on your platform when passed three empty lists. This
6670
is a bug, documented in `issue 26228 <https://bugs.python.org/issue26228>`_.
6771

68-
The default implementation for both functions will read and return up to 1024
69-
bytes each time the function is called. *Master_read* is passed the
70-
pseudoterminal’s master file descriptor to read output from the child
71-
process, and *stdin_read* is passed file descriptor 0, to read from the
72-
parent process's standard input.
7372

7473
.. versionchanged:: 3.4
7574
:func:`spawn` now returns the status value from :func:`os.waitpid`

0 commit comments

Comments
 (0)