diff options
author | Thiago Padilha <thiago@padilha.cc> | 2019-09-02 21:51:29 +0300 |
---|---|---|
committer | Antoine du Hamel <duhamelantoine1995@gmail.com> | 2021-01-04 00:40:50 +0300 |
commit | 25b21e478e822bf3d363a9016a937109a15e3ea0 (patch) | |
tree | fa886ba1d222708b22e5d002ed1b37c658186653 /src/process_wrap.cc | |
parent | 28fe1ef63512acd40cfd1dd15918db494c92f45f (diff) |
child_process: add 'overlapped' stdio flag
The 'overlapped' value sets the UV_OVERLAPPED_PIPE libuv flag in the
child process stdio.
Fixes: https://github.com/nodejs/node/issues/29238
PR-URL: https://github.com/nodejs/node/pull/29412
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/process_wrap.cc')
-rw-r--r-- | src/process_wrap.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/process_wrap.cc b/src/process_wrap.cc index 7628a1264c5..45920c2603b 100644 --- a/src/process_wrap.cc +++ b/src/process_wrap.cc @@ -120,6 +120,11 @@ class ProcessWrap : public HandleWrap { options->stdio[i].flags = static_cast<uv_stdio_flags>( UV_CREATE_PIPE | UV_READABLE_PIPE | UV_WRITABLE_PIPE); options->stdio[i].data.stream = StreamForWrap(env, stdio); + } else if (type->StrictEquals(env->overlapped_string())) { + options->stdio[i].flags = static_cast<uv_stdio_flags>( + UV_CREATE_PIPE | UV_READABLE_PIPE | UV_WRITABLE_PIPE | + UV_OVERLAPPED_PIPE); + options->stdio[i].data.stream = StreamForWrap(env, stdio); } else if (type->StrictEquals(env->wrap_string())) { options->stdio[i].flags = UV_INHERIT_STREAM; options->stdio[i].data.stream = StreamForWrap(env, stdio); |