diff options
author | 2021-11-27 15:26:58 +0100 | |
---|---|---|
committer | 2021-11-27 15:26:58 +0100 | |
commit | 182b4eea73881c611a0f519576aa6ad2aa6799c2 (patch) | |
tree | 230fac469690fcee8797b13585e739be148d4789 /vendor/codeberg.org/gruf/go-logger/writer.go | |
parent | Require confirmed email when checking oauth token (#332) (diff) | |
download | gotosocial-182b4eea73881c611a0f519576aa6ad2aa6799c2.tar.xz |
Update dependencies (#333)
Diffstat (limited to 'vendor/codeberg.org/gruf/go-logger/writer.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-logger/writer.go | 29 |
1 files changed, 29 insertions, 0 deletions
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) +} |