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.
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.
Move all development release notes into a new version-specific document:
tail -q -n +3 Help/release/dev/* > Help/release/3.7.rst
git rm -- Help/release/dev/*
except the sample topic:
git checkout HEAD -- Help/release/dev/0-sample-topic.rst
Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
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.
The introduction of libuv requires some intrinsics such as InterlockedOr
that are not available on VS 2005 and below or on MinGW.org's mingw32.
Add a release note that we no longer support these compilers for CMake
itself.
Add a module to manage the data needed for the project tests. It will
move the test data to the build directory and transfer necessary data to
an Android device if that is enabled.
The change in commit v3.6.0-rc1~54^2 (file: Sort GLOB results to make it
deterministic, 2016-05-14) makes sense for `aux_source_directory` too.
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
We expect the server to exit when its communication pipes are closed.
Close them and wait for the server to exit. If supported by the current
version of python, kill the server if it does not exit after a few
seconds.
957e72c0 Utilities/Release: Use python 3 for server mode test on Linux binary
64934f20 Utilities/Release: Enable server mode in all binaries
ec0bf638 bootstrap: Add options to enable/disable server mode explicitly
523f8ec8 server-mode: Add option to enable/disable test case explicitly
6b97a5ef server-mode: Add option to enable/disable the mode explicitly
a8334961 server-mode: Rename variable CMake_{HAVE => ENABLE}_SERVER_MODE
97b6e17c server-mode: Enable from bootstrapped CMake build
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"
Add the CMake_ENABLE_SERVER_MODE option explicitly to the configuration
of all binary builds. We want to know the mode is available if the
build succeeds.
Add a `CMake_TEST_SERVER_MODE` option that can be set in testing builds
to enable/disable server mode tests explicitly. This will allow testing
in combination with `CMake_TEST_EXTERNAL_CMAKE` or for server mode to be
built on systems that have a python version that cannot run the test.
Provide a way for scripts building CMake to enable server mode
explicitly and assume the risk of a build failure if it is not
supported. This will allow such scripts to ensure that server
mode is available if the build succeeds. It also allows scripts
to explicitly disable server mode even if it would be supported.