summaryrefslogtreecommitdiffstats
path: root/Source/cmServerConnection.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-1/+1
| | | | Fixes: #20666
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+4
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmServerConnection: make return conversions explicitBen Boeckel2019-02-221-2/+2
| | | | | | GCC 9 warns that `std::move` is not necessary, but in fact it is necessary to call the proper conversion constructor. Make that call explicit.
* clang-tidy: Use `= default`Regina Pfeifer2019-01-251-3/+1
| | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* IWYU: Update CMake code for IWYU built with Clang 6Brad King2019-01-151-1/+1
| | | | | IWYU now correctly requires `<utility>` for `std::move`. It also requires a container header when used via a range-based for loop.
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-2/+2
| | | | | | | | | | | | 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.
* server: Switched to a auto model for handlesJustin Berger2017-11-291-50/+21
|
* server: Protect several fields from potentially pointing to bad memoryJustin Berger2017-08-311-0/+3
|
* server: Moved buffer formatting into bufferstrategyJustin Berger2017-08-311-0/+7
|
* server: Made stdio connection accept different types of streamsJustin Berger2017-08-311-44/+104
|
* server: Fixed mismatched new/delete; added proper shutdown procedureJustin Berger2017-08-311-4/+4
|
* server: Add support for connections that aren't event basedJustin Berger2017-07-111-7/+7
|
* server: Refactor to make the event loop owned by server objectJustin Berger2017-07-111-322/+69
|
* cmServer: include what you useDaniel Pfeifer2017-05-051-2/+1
|
* Fix several include-what-you-use findingsDaniel Pfeifer2016-11-081-0/+1
|
* server-mode: Fix named pipe modeTobias Hunger2016-10-181-6/+5
| | | | | | | | Do not treat a pointer itself as a `uv_stream_t`, but instead the pointed-to `uv_pipe_t`. It is unclear how this ever worked before in local testing. While at it, remove duplicate setup code and improve an error message.
* server-mode: Improve shutdown behaviorTobias Hunger2016-10-041-44/+118
| | | | | | Add a signal handler to trigger shutdown and be more paranoid about libuv doing things asynchronously. This should fix test cases not shutting down properly.
* cmake-server: Stop the file monitor on client disconnectBrad King2016-09-301-0/+1
| | | | | | | | | | | | | When the client disconnects we need to remove all events from our loop. Prior to the introduction of the file monitor we only needed to remove the client pipes. Now we need to remove the file monitor events too. Without this the event loop may continue to block on file monitor events. If one does eventually come in then the event handler may try to report it to the disconnected client and crash because our internal structures for writing to the client have been freed. This addresses a failure of the `Server` test on some machines.
* server-mode: Add infrastructure to watch the filesystemTobias Hunger2016-09-291-1/+8
| | | | | | | Enable the server to watch for filesystem changes. This patch includes * The infrastructure for the file watching * makes that infrastructure available to cmServerProtocols * Resets the filesystemwatchers on "configure"
* Simplify CMake per-source license noticesBrad King2016-09-271-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* cmServer: add braces around conditional statementsDaniel Pfeifer2016-09-231-1/+2
|
* server-mode: Move constants for server mode into its own fileTobias Hunger2016-09-221-3/+2
| | | | | This removes some duplication and makes it easier to reuse the vocabulary.
* server-mode: Introduce cmServerConnectionTobias Hunger2016-09-221-0/+307
Use it to split pipe and stdin/out handling out of cmServer itself. The server will shut down when it looses its connection to the client. This has the nice property that a crashing client will cause the server to terminate as the OS will close the connection on behave of the client.