From b6aa56af10b198a5f6ddee1eb063f025c611027c Mon Sep 17 00:00:00 2001 From: reito Date: Tue, 4 Feb 2025 16:03:11 +0800 Subject: [PATCH] src: pipe init ex for unix --- include/uv.h | 1 + src/unix/pipe.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/include/uv.h b/include/uv.h index a9e36e7f..1c0b71bf 100644 --- a/include/uv.h +++ b/include/uv.h @@ -870,6 +870,7 @@ enum uv_pipe_init_flags { /* * Use Unix Domain Socket instead of NamedPipe on Windows. Will validate * the `name` as a file path when calling bind / connect if this flag is set. + * On non-Windows platform this flag is ignored. */ UV_PIPE_INIT_WIN_UDS = 1u << 1, }; diff --git a/src/unix/pipe.c b/src/unix/pipe.c index bd57b17f..3926237b 100644 --- a/src/unix/pipe.c +++ b/src/unix/pipe.c @@ -44,6 +44,13 @@ static int includes_nul(const char *s, size_t n) { int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) { + return uv_pipe_init_ex(loop, handle, ipc ? UV_PIPE_INIT_IPC : 0); +} + + +int uv_pipe_init_ex(uv_loop_t* loop, uv_pipe_t* handle, unsigned int flags) { + int ipc = (flags & UV_PIPE_INIT_IPC) != 0; + uv__stream_init(loop, (uv_stream_t*)handle, UV_NAMED_PIPE); handle->shutdown_req = NULL; handle->connect_req = NULL;