@@ -112,7 +112,10 @@ request, a single response SHALL be sent: either an :program:`exec started`
112112response if successful, or an :program: `exec error ` response on failure. The
113113subprocess SHALL continue running as a child of the subprocess server until
114114it terminates or the server is shut down. The server MAY log subprocess
115- output and exit code to its own log stream.
115+ output and exit code to its own log stream. The subprocess's standard input,
116+ and any writable auxiliary channels, SHALL be at end-of-file, since a
117+ background subprocess that reads them could otherwise silently block while
118+ no client is attached.
116119
117120.. object :: exec request
118121
@@ -143,7 +146,9 @@ output and exit code to its own log stream.
143146
144147 write-credit (8)
145148 Send ``add-credit `` exec responses when buffer space is available
146- for standard input or writable auxiliary channels.
149+ for standard input or writable auxiliary channels. This flag SHALL
150+ NOT be combined with a non-streaming (background mode) request; doing
151+ so is an error.
147152
148153 waitable (16)
149154 Allow the subprocess to be waited on with a ``wait `` RPC.
@@ -154,7 +159,8 @@ output and exit code to its own log stream.
154159
155160 stdio-fallthrough (1)
156161 Let subprocess inherit stdin, stdout, and stderr file descriptors
157- from the subprocess server.
162+ from the subprocess server. This flag SHALL NOT be combined with a
163+ non-streaming (background mode) request; doing so is an error.
158164
159165 no-setpgrp (2)
160166 Do not call setpgrp(2) before exec. Use kill(2) instead of killpg(2)
0 commit comments