debian-forge-cli/bib/pkg/progress/syncwriter.go
Michael Vogt 7ac659490c progress: add new BuildLog option
This commit adds a new `BuildLog` option to the `OSBuildOptions`
that can be used to generate a streamed buildlog (e.g. to a file
or a websocket).

This will be used in `ibcli` with a new `--with-buildlog` option.
2025-03-31 19:42:59 +00:00

22 lines
327 B
Go

package progress
import (
"io"
"sync"
)
type syncedWriter struct {
mu *sync.Mutex
w io.Writer
}
func newSyncedWriter(mu *sync.Mutex, w io.Writer) io.Writer {
return &syncedWriter{mu: mu, w: w}
}
func (sw *syncedWriter) Write(p []byte) (n int, err error) {
sw.mu.Lock()
defer sw.mu.Unlock()
return sw.w.Write(p)
}