summaryrefslogtreecommitdiff
path: root/src/w32.h
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2021-12-11 20:15:53 +0200
committerEli Zaretskii <eliz@gnu.org>2021-12-11 20:15:53 +0200
commita81669c69fda1a2d0d4238b8440145fb2aeb959f (patch)
treeef4f554f4505d9a5171f57878e2f38dea8d01cda /src/w32.h
parent8c50016b100ec2c548ec90131e0f5fb5f4ebb5c1 (diff)
downloademacs-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.h1
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);