Merge pull request #3920 from vouch-opensource/fix/service-restarts-with-memlogd

Allow service restarts when using memlogd
This commit is contained in:
Avi Deitcher 2023-11-14 06:23:58 -08:00 committed by GitHub
commit b26c169797
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -100,7 +100,14 @@ type remoteLog struct {
// Path returns the name of a FIFO connected to the logging daemon.
func (r *remoteLog) Path(n string) string {
path := filepath.Join(r.fifoDir, n+".log")
// replicate behavior of os.Create(path) for a fileLog.
// if a file exists at the given path, os.Create will truncate it.
// syscall.Mkfifo on the other hand fails when a file exists at the given path.
if _, err := os.Stat(path); err == nil {
os.Remove(path)
}
if err := syscall.Mkfifo(path, 0600); err != nil {
log.Printf("failed to create fifo %s: %s", path, err)
return "/dev/null"
}
go func() {