diff options
Diffstat (limited to 'refstore/chain/close.go')
| -rw-r--r-- | refstore/chain/close.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/refstore/chain/close.go b/refstore/chain/close.go new file mode 100644 index 00000000..440afb10 --- /dev/null +++ b/refstore/chain/close.go @@ -0,0 +1,21 @@ +package chain + +import "errors" + +// Close closes all backends and joins close errors. +func (chain *Chain) Close() error { + var errs []error + + for _, backend := range chain.backends { + if backend == nil { + continue + } + + err := backend.Close() + if err != nil { + errs = append(errs, err) + } + } + + return errors.Join(errs...) +} |
