It's no longer necessary, since connection attempts are no longer truly
blocking. When CTRL+C is hit in the top-level process, broker will begin
shutdown, which will cancel all pending connection attempts, causing
pool threads to wake. The pool can't block during shutdown anymore.
* origin/osx-ci-fixes:
issue #573: guard against a forked top-level Ansible process
[linear2] simplify ClassicWorkerModel and fix repeat initialization
issue #549 / [stream-refactor]: fix close/poller deregister crash on OSX
issue #549: skip Docker tests if Docker is unavailable
issue #549: remove Linux-specific assumptions from create_child_test
issue #549: fix setrlimit() crash and hard-wire OS X default
"self.initialized = False" slipped in a few days ago, on second thoughts
that flag is not needed at all, by simply rearranging ClassicWorkerModel
to have a regular constructor.
This hierarchy is still squishy, it needs more love. Remaining
MuxProcess class attributes should eliminated.
* origin/unienv:
docs: update Changelog.
issue #600: /etc/environment may be non-ASCII in an unknown encoding
docs: finished Changelog locking note
Fix for sample in doc
docs: break out install_app.py and fix API use.
* origin/549-open-files:
issue #603: Revert "ci: update to Ansible 2.8.3"
Fix unit_Test.ClientTest following 108015aa22
service: clean up log messages, especially at shutdown
remove unused imports flagged by lgtm
[linear2]: merge fallout flaggged by LGTM
issue #549: docs: update Changelog
issue #549: increase open file limit automatically if possible
ansible: improve process.py docs
docs: remove old list link.
docs: migrate email list
docs: changelog tweaks
parent: decode logged stdout as UTF-8.
scripts: import affin.sh
ci: update to Ansible 2.8.3
tests: terraform tweaks
unix: include more IO in the try/except for connection failure
tests: update gcloud.py to match terraform config
tests: hide ugly error during Ansible tests
tests/ansible/gcloud: terraform conf for load testing
ansible: gracefully handle failure to connect to MuxProcess
ansible: fix affinity tests for 5ae45f6612390bbc888b65964fb5c218feed1679
ansible: pin per-CPU muxes to their corresponding CPU
ansible: reap mux processes on shut down
While catching every possible case where "open file limit exceeded" is
not possible, we can at least increase the soft limit to the available
hard limit without any user effort.
Do this in Ansible top-level process, even though we probably only need
it in the MuxProcess. It seems there is no reason this could hurt
Previously we exitted without calling waitpid(), which meant the
top-level process struct rusage did not reflect the resource usage
consumed by the multiplexer processes.
Existing benchmarks are made using perf so this never created a problem,
but it could be confusing to others using the "time" command, and also
allows logging the final exit status of the process.