diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-iotools/close.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-iotools/close.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-iotools/close.go b/vendor/codeberg.org/gruf/go-iotools/close.go index fbed7f33c..3f0ee7780 100644 --- a/vendor/codeberg.org/gruf/go-iotools/close.go +++ b/vendor/codeberg.org/gruf/go-iotools/close.go @@ -17,6 +17,14 @@ func CloserCallback(c io.Closer, cb func()) io.Closer { }) } +func CloserAfterCallback(c io.Closer, cb func()) io.Closer { + return CloserFunc(func() (err error) { + defer func() { err = c.Close() }() + cb() + return + }) +} + // CloseOnce wraps an io.Closer to ensure it only performs the close logic once. func CloseOnce(c io.Closer) io.Closer { return CloserFunc(func() error { |