diff options
| author | Eli Zaretskii | 2025-10-11 12:22:58 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2025-10-11 12:22:58 +0300 |
| commit | f8b4ce68432d513526a372b726afbdeb7310e407 (patch) | |
| tree | 8506e8262450b1913233f1a5694b1eb8fac0887d /src/process.c | |
| parent | c172b6dded4f92f47f035b724605ecbb0e19970c (diff) | |
| download | emacs-f8b4ce68432d513526a372b726afbdeb7310e407.tar.gz emacs-f8b4ce68432d513526a372b726afbdeb7310e407.zip | |
Fix last change
At least on MS-Windows, the last change caused the
process-tests/fd-setsize-no-crash/make-process test to hang.
* src/process.c (wait_reading_process_output) [WINDOWSNT]: Do
not stop monitoring the process descriptor when zero bytes are
read. The EOF indication from subprocesses on MS-Windows is
detected via an error condition (see w32.c), while zero-size
reads are not to be taken as such. (Bug#79436)
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c index bd128311033..86e83e58c56 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -6054,7 +6054,11 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, | |||
| 6054 | process gone just because its pipe is closed. */ | 6054 | process gone just because its pipe is closed. */ |
| 6055 | else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc) | 6055 | else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc) |
| 6056 | && !PIPECONN_P (proc)) | 6056 | && !PIPECONN_P (proc)) |
| 6057 | #ifdef WINDOWSNT | ||
| 6058 | ; | ||
| 6059 | #else | ||
| 6057 | delete_read_fd (channel); | 6060 | delete_read_fd (channel); |
| 6061 | #endif | ||
| 6058 | else if (nread == 0 && PIPECONN_P (proc)) | 6062 | else if (nread == 0 && PIPECONN_P (proc)) |
| 6059 | { | 6063 | { |
| 6060 | /* Preserve status of processes already terminated. */ | 6064 | /* Preserve status of processes already terminated. */ |