Retry the Windows local pipe server connection once on EPIPE #694
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.
A customer has reported that on Windows Server 2012, certain InSpec operations are failing with Errno::EPIPE. Because of the way that the Windows local pipe-based connection works, once the pipe has been dropped, all further commands executed in the session will fail.
This change catches EPIPE, closes and restarts the pipe server, and writes to a new pipe. It only tries this onoce per failure; if two failures occur in a row, the failure will be passed up.
Description
Related Issue
Types of changes
Checklist: