summaryrefslogtreecommitdiffstats
path: root/Source/cmUVHandlePtr.cxx
Commit message (Collapse)AuthorAgeFilesLines
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
|
* Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-3/+3
|
* cmUVProcessChain: Add cmUVProcessChainKyle Edwards2019-05-071-4/+4
| | | | | | | | | This class is ultimately intended as a replacement for cmsys::Process. It spawns a series of processes using libuv, piping the output of each command into the next. Note: input support has not yet been implemented because write support has not yet been implemented on cmUVStreambuf.
* cmUVHandlePtr: Add cm::uv_loop_ptrKyle Edwards2019-04-251-7/+47
|
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-10/+10
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* utilities: Swapped to use std C++11 mutex/threading constructsJustin Berger2017-12-011-5/+5
|
* cmUVHandlePtr: Add uv_process_ptrBrad King2017-11-301-0/+9
|
* cmUVHandlePtr: Add uv_timer_ptrBrad King2017-11-301-0/+14
|
* cmUVHandlePtr: Move to CMakeLib to make it available everywhereBrad King2017-11-301-2/+8
|
* Add RAII handles for libuv handle typesJustin Berger2017-11-291-0/+198
The `uv_*_t` handle types are closed by `uv_close`, but the semantics are tricky. Calling `uv_close` may not close immediately. Instead it hands ownership to the uv loop to which the handle is currently attached. When the loop decides to close it, a callback is used to allow the `uv_close` caller to free resources. Provide an abstraction layer as `cm::uv_*_ptr` types corresponding to the `uv_*_t` handle types. Each pointer is either empty (`nullptr`) or has an initialized handle attached to a loop. Use move semantics to ensure a single owner of the handle so that clients can predict when the handle is destroyed.