Inspects an open descriptor and releases it, even if inspection throws.
Port the descriptor came from.
Descriptor to inspect and then release.
Work to do while the descriptor is open.
The inspection's outcome, or a failure if the close was refused.
Inspects an open descriptor and releases it, even if inspection throws.