lib/api: Close server before exiting serve (fixes #5866) (#5895)

This commit is contained in:
Simon Frei 2019-07-28 08:03:55 +02:00 committed by Jakob Borg
parent 669bcb748f
commit dd850f66bb

View File

@ -79,7 +79,6 @@ type service struct {
contr Controller contr Controller
noUpgrade bool noUpgrade bool
tlsDefaultCommonName string tlsDefaultCommonName string
stop chan struct{} // signals intentional stop
configChanged chan struct{} // signals intentional listener close due to config change configChanged chan struct{} // signals intentional listener close due to config change
started chan string // signals startup complete by sending the listener address, for testing only started chan string // signals startup complete by sending the listener address, for testing only
startedOnce chan struct{} // the service has started successfully at least once startedOnce chan struct{} // the service has started successfully at least once
@ -375,6 +374,7 @@ func (s *service) serve(stop chan struct{}) {
// Restart due to listen/serve failure // Restart due to listen/serve failure
l.Warnln("GUI/API:", err, "(restarting)") l.Warnln("GUI/API:", err, "(restarting)")
} }
srv.Close()
} }
// Complete implements suture.IsCompletable, which signifies to the supervisor // Complete implements suture.IsCompletable, which signifies to the supervisor