etcdmain: correctly check return values from SdNotify()

SdNotify() now returns 2 values, sent and err. So startEtcdOrProxyV2()
needs to check the 2 return values correctly. As the 2 values are
independent of each other, error checking needs to be slightly updated
too.

SdNotifyNoSocket, which was previously provided by go-systemd, does not
exist any more. In that case (false, nil) will be returned instead.
This commit is contained in:
Dongsu Park 2016-07-21 08:21:03 +02:00
parent 00c9fe4753
commit 624187d25f

View File

@ -160,12 +160,12 @@ func startEtcdOrProxyV2() {
// for accepting connections. The etcd instance should be
// joined with the cluster and ready to serve incoming
// connections.
err := daemon.SdNotify("READY=1")
sent, err := daemon.SdNotify("READY=1")
if err != nil {
plog.Errorf("failed to notify systemd for readiness: %v", err)
if err == daemon.SdNotifyNoSocket {
plog.Errorf("forgot to set Type=notify in systemd service file?")
}
}
if !sent {
plog.Errorf("forgot to set Type=notify in systemd service file?")
}
}