Refactor listener startup error handling #1730
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed Changes
Functions that start listeners (Ranch supervisors) no longer
throw on errors. They simply return the first error encountered
and let the boot step handle it.
Since there is no way for boot steps to indicate errors, this is the
best we can do in this area without a much deeper refactoring of the boot
sequence.
In addition they also log the error. Note that modern Ranch versions
log more reasonable messages when Ranch supervisors exit due to
a listen/bind socket operation error, e.g. when the address/port pair
is already in use.
Types of Changes
Checklist
CONTRIBUTING.md
documentFurther Comments
Closes #1711 (for now), covers #1729 for the server as a drive-by change.
[#160791138]
[#161136615]