diff options
author | Eli Zaretskii <eliz@gnu.org> | 2021-12-11 20:15:53 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2021-12-11 20:15:53 +0200 |
commit | a81669c69fda1a2d0d4238b8440145fb2aeb959f (patch) | |
tree | ef4f554f4505d9a5171f57878e2f38dea8d01cda /src/w32.h | |
parent | 8c50016b100ec2c548ec90131e0f5fb5f4ebb5c1 (diff) | |
download | emacs-a81669c69fda1a2d0d4238b8440145fb2aeb959f.tar.gz |
Fix hang when deleting a pipe process
* src/w32.h (FILE_DONT_CLOSE): New flag.
* src/w32.c (sys_close): Don't close descriptors used to read from
the pipe process. Leave the FILE_DONT_CLOSE flag set in the
descriptor's info.
(register_aux_fd): Set the FILE_DONT_CLOSE flag in the
descriptor's info.
* src/w32proc.c (reader_thread): When exiting normally, close the
file descriptor used to read from a pipe process. (Bug#52414)
Diffstat (limited to 'src/w32.h')
-rw-r--r-- | src/w32.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/w32.h b/src/w32.h index b31d66646c9..bb3ec40324a 100644 --- a/src/w32.h +++ b/src/w32.h @@ -135,6 +135,7 @@ extern filedesc fd_info [ MAXDESC ]; #define FILE_SOCKET 0x0200 #define FILE_NDELAY 0x0400 #define FILE_SERIAL 0x0800 +#define FILE_DONT_CLOSE 0x1000 extern child_process * new_child (void); extern void delete_child (child_process *cp); |