commit | 7828118ea8f4150aa1eae4ab3133935ffe221eb5 | [log] [tgz] |
---|---|---|
author | jmmv <jmmv@google.com> | Mon Dec 02 08:51:23 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Dec 02 08:52:36 2019 -0800 |
tree | 70e38a51d440ae6b7cce81b01e37e149fa331046 | |
parent | 976fa0b5261324523c175aa81f9af30a1ba113e9 [diff] |
Make sure to wait for all subprocesses in the process-wrapper. When we kill the process group, make sure to wait until the results of all subprocesses have been collected to ensure all subprocesses are stopped before the process-wrapper exits. I have been unable to come up with a test case to show that this does anything useful though (in particular because the process-wrapper uses SIGKILL against the processes instead of SIGTERM so I cannot install any handlers to mess things up). Conceptually, the problem existed, but it is a race condition that is very hard to trigger. But I'm adding some unit tests for the internals. Fixes: https://github.com/bazelbuild/bazel/issues/10245. RELNOTES: None. PiperOrigin-RevId: 283348780
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md