summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-11-30 16:26:25 (GMT)
committerBrad King <brad.king@kitware.com>2017-11-30 18:43:43 (GMT)
commit3bcaa870078d875b65f17d82661a133f6d5cbdfc (patch)
tree407079827806611cbda863a1f0744b6c16d5bdea /Source
parentdd700e9bfb2a498632845e76ce95dd38bb866a7b (diff)
downloadCMake-3bcaa870078d875b65f17d82661a133f6d5cbdfc.zip
CMake-3bcaa870078d875b65f17d82661a133f6d5cbdfc.tar.gz
CMake-3bcaa870078d875b65f17d82661a133f6d5cbdfc.tar.bz2
cmUVHandlePtr: Add uv_process_ptr
Diffstat (limited to 'Source')
-rw-r--r--Source/cmUVHandlePtr.cxx9
-rw-r--r--Source/cmUVHandlePtr.h10
2 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmUVHandlePtr.cxx b/Source/cmUVHandlePtr.cxx
index 78819a5..d7e38c3 100644
--- a/Source/cmUVHandlePtr.cxx
+++ b/Source/cmUVHandlePtr.cxx
@@ -172,6 +172,13 @@ uv_pipe_ptr::operator uv_stream_t*() const
}
#ifdef CMAKE_BUILD_WITH_CMAKE
+int uv_process_ptr::spawn(uv_loop_t& loop, uv_process_options_t const& options,
+ void* data)
+{
+ allocate(data);
+ return uv_spawn(&loop, *this, &options);
+}
+
int uv_timer_ptr::init(uv_loop_t& loop, void* data)
{
allocate(data);
@@ -211,6 +218,8 @@ UV_HANDLE_PTR_INSTANTIATE_EXPLICIT(stream)
#ifdef CMAKE_BUILD_WITH_CMAKE
UV_HANDLE_PTR_INSTANTIATE_EXPLICIT(async)
+UV_HANDLE_PTR_INSTANTIATE_EXPLICIT(process)
+
UV_HANDLE_PTR_INSTANTIATE_EXPLICIT(timer)
UV_HANDLE_PTR_INSTANTIATE_EXPLICIT(tty)
diff --git a/Source/cmUVHandlePtr.h b/Source/cmUVHandlePtr.h
index d3df69c..a6ce565 100644
--- a/Source/cmUVHandlePtr.h
+++ b/Source/cmUVHandlePtr.h
@@ -165,6 +165,14 @@ struct uv_pipe_ptr : public uv_handle_ptr_<uv_pipe_t>
int init(uv_loop_t& loop, int ipc, void* data = nullptr);
};
+struct uv_process_ptr : public uv_handle_ptr_<uv_process_t>
+{
+ CM_PERFECT_FWD_CTOR(uv_process_ptr, uv_handle_ptr_<uv_process_t>);
+
+ int spawn(uv_loop_t& loop, uv_process_options_t const& options,
+ void* data = nullptr);
+};
+
struct uv_timer_ptr : public uv_handle_ptr_<uv_timer_t>
{
CM_PERFECT_FWD_CTOR(uv_timer_ptr, uv_handle_ptr_<uv_timer_t>);
@@ -200,6 +208,8 @@ UV_HANDLE_PTR_INSTANTIATE_EXTERN(signal)
UV_HANDLE_PTR_INSTANTIATE_EXTERN(pipe)
+UV_HANDLE_PTR_INSTANTIATE_EXTERN(process)
+
UV_HANDLE_PTR_INSTANTIATE_EXTERN(stream)
UV_HANDLE_PTR_INSTANTIATE_EXTERN(timer)