mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 03:48:18 +00:00
34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
diff --git a/include/uv.h b/include/uv.h
|
|
index cdd251d8..79b7930e 100644
|
|
--- a/include/uv.h
|
|
+++ b/include/uv.h
|
|
@@ -865,7 +865,8 @@ typedef enum {
|
|
* flags may be specified to create a duplex data stream.
|
|
*/
|
|
UV_READABLE_PIPE = 0x10,
|
|
- UV_WRITABLE_PIPE = 0x20
|
|
+ UV_WRITABLE_PIPE = 0x20,
|
|
+ UV_OVERLAPPED_PIPE = 0x40
|
|
} uv_stdio_flags;
|
|
|
|
typedef struct uv_stdio_container_s {
|
|
diff --git a/src/win/process-stdio.c b/src/win/process-stdio.c
|
|
index 032e3093..b53bdea7 100644
|
|
--- a/src/win/process-stdio.c
|
|
+++ b/src/win/process-stdio.c
|
|
@@ -131,12 +131,13 @@ static int uv__create_stdio_pipe_pair(uv_loop_t* loop,
|
|
sa.lpSecurityDescriptor = NULL;
|
|
sa.bInheritHandle = TRUE;
|
|
|
|
+ BOOL overlap = server_pipe->ipc || (flags & UV_OVERLAPPED_PIPE);
|
|
child_pipe = CreateFileA(pipe_name,
|
|
client_access,
|
|
0,
|
|
&sa,
|
|
OPEN_EXISTING,
|
|
- server_pipe->ipc ? FILE_FLAG_OVERLAPPED : 0,
|
|
+ overlap ? FILE_FLAG_OVERLAPPED : 0,
|
|
NULL);
|
|
if (child_pipe == INVALID_HANDLE_VALUE) {
|
|
err = GetLastError();
|