summaryrefslogtreecommitdiff
path: root/src/nslcd_systemd/nslcd_systemd.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2015-09-11 23:21:50 -0600
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-09-11 23:21:50 -0600
commit5e781d7539ac8f1f17e6cfa04c3c28fdfe65f4db (patch)
tree67bb7e9f34221a9baa49f6e9d6ac71342cc7836e /src/nslcd_systemd/nslcd_systemd.go
parenteed575704b9277b71fb85846cb16dfa94549465c (diff)
Have nslcd_systemd manage the backend lifecycle
Diffstat (limited to 'src/nslcd_systemd/nslcd_systemd.go')
-rw-r--r--src/nslcd_systemd/nslcd_systemd.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nslcd_systemd/nslcd_systemd.go b/src/nslcd_systemd/nslcd_systemd.go
index 8d7d4fb..ad92f52 100644
--- a/src/nslcd_systemd/nslcd_systemd.go
+++ b/src/nslcd_systemd/nslcd_systemd.go
@@ -15,7 +15,9 @@ import (
type Backend interface {
nslcd_proto.Backend
+ Init() error
Reload() error
+ Close()
}
func get_socket() (socket net.Listener, err error) {
@@ -72,6 +74,14 @@ func Main(backend Backend) uint8 {
disable_nss_module()
+ err = backend.Init()
+ if err != nil {
+ logger.Err("%s", err.Error())
+ sd.Notify(false, "STOPPING=1")
+ return lsb.EXIT_FAILURE
+ }
+ defer backend.Close()
+
socket, err = get_socket()
if err != nil {
logger.Err("%s", err.Error())