port_close acts strangely on count > 1
VOP_CLOSE handler for event ports (
port_close) differs from nearly all other VFS providers in that it performs some clean-up tasks when
count > 1. Most other VFS providers defer clean-up until
count == 1, which indicates the final close of the resource. While there are some cases such as a
fork() where event ports must do processing (clean-up of registrations, etc), the logic as a whole should be scrutinized.
This came about as a part of #15031, where
closef() calls added in #14788 were found to be interfering with expected event ports operation. The clean-up on
count > 1 does break with certain standing expectations in VFS.