diff options
Diffstat (limited to 'src/sd_daemon/listen_fds.go')
-rw-r--r-- | src/sd_daemon/listen_fds.go | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/sd_daemon/listen_fds.go b/src/sd_daemon/listen_fds.go deleted file mode 100644 index fbd2247..0000000 --- a/src/sd_daemon/listen_fds.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// Copyright 2015 Luke Shumaker -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package sd - -import ( - "os" - "strconv" - "syscall" -) - -//#include <systemd/sd-daemon.h> -import "C" - -// Returns a list of file descriptors passed in by the service manager -// as part of the socket-based activation logic. -// -// If unsetEnv is true, then (regarless of whether the function call -// itself succeeds or not) it will unset the environmental variables -// LISTEN_FDS and LISTEN_PID, which will cause further calls to this -// function to fail. -// -// In the case of an error, this function returns nil. -func ListenFds(unsetEnv bool) []*os.File { - if unsetEnv { - defer os.Unsetenv("LISTEN_PID") - defer os.Unsetenv("LISTEN_FDS") - } - - pid, err := strconv.Atoi(os.Getenv("LISTEN_PID")) - if err != nil || pid != os.Getpid() { - return nil - } - - nfds, err := strconv.Atoi(os.Getenv("LISTEN_FDS")) - if err != nil || nfds == 0 { - return nil - } - - files := make([]*os.File, 0, nfds) - for fd := C.SD_LISTEN_FDS_START; fd < C.SD_LISTEN_FDS_START+nfds; fd++ { - syscall.CloseOnExec(fd) - files = append(files, os.NewFile(uintptr(fd), "LISTEN_FD_"+strconv.Itoa(fd))) - } - - return files -} |