diff --git a/pkg/systemd/listendfd.go b/pkg/systemd/listendfd.go index 08070b6ece..0fbc0a6ab6 100644 --- a/pkg/systemd/listendfd.go +++ b/pkg/systemd/listendfd.go @@ -2,7 +2,6 @@ package systemd import ( "errors" - "fmt" "net" "strconv" @@ -12,8 +11,13 @@ import ( // ListenFD returns the specified socket activated files as a slice of // net.Listeners or all of the activated files if "*" is given. func ListenFD(addr string) ([]net.Listener, error) { - files := activation.Files(false) - if files == nil || len(files) == 0 { + // socket activation + listeners, err := activation.Listeners(false) + if err != nil { + return nil, err + } + + if listeners == nil || len(listeners) == 0 { return nil, errors.New("No sockets found") } @@ -24,20 +28,10 @@ func ListenFD(addr string) ([]net.Listener, error) { fdNum, _ := strconv.Atoi(addr) fdOffset := fdNum - 3 - if (addr != "*") && (len(files) < int(fdOffset)+1) { + if (addr != "*") && (len(listeners) < int(fdOffset)+1) { return nil, errors.New("Too few socket activated files passed in") } - // socket activation - listeners := make([]net.Listener, len(files)) - for i, f := range files { - var err error - listeners[i], err = net.FileListener(f) - if err != nil { - return nil, fmt.Errorf("Error setting up FileListener for fd %d: %s", f.Fd(), err.Error()) - } - } - if addr == "*" { return listeners, nil }