Browse Source

util/systemd: explicitly check for os.ErrNotExist from sdnotify

Signed-off-by: Matt Layher <[email protected]>
Matt Layher 5 years ago
parent
commit
719de8f0e1
1 changed files with 4 additions and 7 deletions
  1. 4 7
      util/systemd/systemd_linux.go

+ 4 - 7
util/systemd/systemd_linux.go

@@ -7,6 +7,7 @@
 package systemd
 
 import (
+	"errors"
 	"log"
 	"os"
 	"sync"
@@ -36,14 +37,10 @@ var (
 
 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.Open(sock)
-		if err != nil {
+		getNotifyOnce.v, err = sdnotify.New()
+		// Not exist means probably not running under systemd, so don't log.
+		if err != nil && !errors.Is(err, os.ErrNotExist) {
 			log.Printf("systemd: systemd-notifier error: %v", err)
 		}
 	})