diff options
author | Brad King <brad.king@kitware.com> | 2017-11-30 16:26:25 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-11-30 18:43:43 (GMT) |
commit | 3bcaa870078d875b65f17d82661a133f6d5cbdfc (patch) | |
tree | 407079827806611cbda863a1f0744b6c16d5bdea /Source | |
parent | dd700e9bfb2a498632845e76ce95dd38bb866a7b (diff) | |
download | CMake-3bcaa870078d875b65f17d82661a133f6d5cbdfc.zip CMake-3bcaa870078d875b65f17d82661a133f6d5cbdfc.tar.gz CMake-3bcaa870078d875b65f17d82661a133f6d5cbdfc.tar.bz2 |
cmUVHandlePtr: Add uv_process_ptr
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmUVHandlePtr.cxx | 9 | ||||
-rw-r--r-- | Source/cmUVHandlePtr.h | 10 |
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) |