Fix systemd socket support

This commit is contained in:
Adrián Laviós Gomis 2018-01-25 10:24:28 +01:00
parent 81715555be
commit 023c3e78ee
1 changed files with 12 additions and 8 deletions

View File

@ -9,18 +9,22 @@ import (
)
func (proxy *Proxy) SystemDListeners() error {
listeners, err := activation.Listeners(true)
if err != nil && len(listeners) > 0 {
listeners, err := activation.Listeners(false)
if err == nil && len(listeners) > 0 {
for i, listener := range listeners {
dlog.Noticef("Wiring systemd TCP socket #%d", i)
proxy.tcpListener(listener.(*net.TCPListener))
if listener != nil {
dlog.Noticef("Wiring systemd TCP socket #%d", i)
go proxy.tcpListener(listener.(*net.TCPListener))
}
}
}
packetConns, err := activation.PacketConns(true)
if err != nil && len(packetConns) > 0 {
packetConns, err := activation.PacketConns(false)
if err == nil && len(packetConns) > 0 {
for i, packetConn := range packetConns {
dlog.Noticef("Wiring systemd UDP socket #%d", i)
proxy.udpListener(packetConn.(*net.UDPConn))
if packetConn != nil {
dlog.Noticef("Wiring systemd UDP socket #%d", i)
go proxy.udpListener(packetConn.(*net.UDPConn))
}
}
}
return nil