util/systemd: don't log warnings when not running under systemd

It caused our integration tests to fail, which prohibit logging to
os.Stderr for test cleanliness reasons.
This commit is contained in:
Brad Fitzpatrick 2020-12-17 12:59:05 -08:00
parent 741c513e51
commit 5f07da4854

View File

@ -8,6 +8,7 @@
import (
"log"
"os"
"sync"
"github.com/mdlayher/sdnotify"
@ -35,8 +36,13 @@ func (l *logOnce) logf(format string, args ...interface{}) {
func notifier() *sdnotify.Notifier {
getNotifyOnce.Do(func() {
sock := os.Getenv(sdnotify.Socket)
if sock == "" {
// Not running under systemd probably. Bail out before logging.
return
}
var err error
getNotifyOnce.v, err = sdnotify.New()
getNotifyOnce.v, err = sdnotify.Open(sock)
if err != nil {
log.Printf("systemd: systemd-notifier error: %v", err)
}