From 182b4eea73881c611a0f519576aa6ad2aa6799c2 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 27 Nov 2021 15:26:58 +0100 Subject: Update dependencies (#333) --- vendor/codeberg.org/gruf/go-logger/writer.go | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 vendor/codeberg.org/gruf/go-logger/writer.go (limited to 'vendor/codeberg.org/gruf/go-logger/writer.go') diff --git a/vendor/codeberg.org/gruf/go-logger/writer.go b/vendor/codeberg.org/gruf/go-logger/writer.go new file mode 100644 index 000000000..72321f518 --- /dev/null +++ b/vendor/codeberg.org/gruf/go-logger/writer.go @@ -0,0 +1,29 @@ +package logger + +import ( + "io" + "io/ioutil" + "sync" +) + +// AddSafety wraps an io.Writer to provide mutex locking protection +func AddSafety(w io.Writer) io.Writer { + if w == nil { + w = ioutil.Discard + } else if sw, ok := w.(*safeWriter); ok { + return sw + } + return &safeWriter{wr: w} +} + +// safeWriter wraps an io.Writer to provide mutex locking on write +type safeWriter struct { + wr io.Writer + mu sync.Mutex +} + +func (w *safeWriter) Write(b []byte) (int, error) { + w.mu.Lock() + defer w.mu.Unlock() + return w.wr.Write(b) +} -- cgit v1.2.3