type CloserSet struct {
// contains filtered or unexported fields
}
CloserSet records a set of closers.
All closers will be closed when the CloserSet closes.
When a wrapped closer is closed, the record in the CloserSet will be removed. i.e.,
the closer will only be closed once.