File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed
Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ import (
1919 "net/http"
2020 "os"
2121 "os/signal"
22+ "strconv"
2223 "strings"
2324 "time"
2425
@@ -197,7 +198,21 @@ func main() {
197198
198199 slog .Info ("tsidp server started" , slog .String ("server_url" , srv .ServerURL ()))
199200
200- if * flagUnixSocket != "" {
201+ if fdStr := os .Getenv ("LISTEN_FDS" ); fdStr != "" {
202+ fds , err := strconv .Atoi (fdStr )
203+ if err != nil {
204+ slog .Error ("failed to listen on systemd socket" , slog .Any ("error" , err ))
205+ }
206+ // systemd socket activation starts at fd 3
207+ for fd := 3 ; fd < 3 + fds ; fd ++ {
208+ file := os .NewFile (uintptr (fd ), "systemd-socket" )
209+ ln , err := net .FileListener (file )
210+ if err != nil {
211+ slog .Error ("failed to listen on systemd socket" , slog .Any ("error" , err ))
212+ }
213+ lns = append (lns , ln )
214+ }
215+ } else if * flagUnixSocket != "" {
201216 socketPath := * flagUnixSocket
202217 info , err := os .Stat (socketPath )
203218 if err == nil && (info .Mode ()& os .ModeSocket ) != 0 {
You can’t perform that action at this time.
0 commit comments