@@ -48,15 +48,19 @@ The :mod:`pty` module defines the following functions:
48
48
will return.
49
49
50
50
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
60
64
communicate with the parent process OR the child process. Unless the child
61
65
process will quit without any input, *spawn * will then loop forever. If
62
66
*master_read * signals EOF the same behavior results (on linux at least).
@@ -65,11 +69,6 @@ The :mod:`pty` module defines the following functions:
65
69
*select * throws an error on your platform when passed three empty lists. This
66
70
is a bug, documented in `issue 26228 <https://bugs.python.org/issue26228 >`_.
67
71
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.
73
72
74
73
.. versionchanged :: 3.4
75
74
:func: `spawn ` now returns the status value from :func: `os.waitpid `
0 commit comments