github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/pkg/logger/writer.go (about)

     1  package logger
     2  
     3  import (
     4  	"io"
     5  	"sync"
     6  )
     7  
     8  type MutexWriter struct {
     9  	underlying io.Writer
    10  	mu         *sync.Mutex
    11  }
    12  
    13  func NewMutexWriter(underlying io.Writer) MutexWriter {
    14  	return MutexWriter{
    15  		underlying: underlying,
    16  		mu:         &sync.Mutex{},
    17  	}
    18  }
    19  
    20  func (w MutexWriter) Write(b []byte) (int, error) {
    21  	w.mu.Lock()
    22  	defer w.mu.Unlock()
    23  	return w.underlying.Write(b)
    24  }