1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-23 00:55:58 +01:00

Create webserver structure in main thread.

Avoids a race.
This commit is contained in:
Juliusz Chroboczek 2020-09-12 21:19:40 +02:00
parent 71022f4b58
commit 8d58571d4c

View file

@ -41,19 +41,19 @@ func webserver() {
http.HandleFunc("/public-groups.json", publicHandler) http.HandleFunc("/public-groups.json", publicHandler)
http.HandleFunc("/stats", statsHandler) http.HandleFunc("/stats", statsHandler)
go func() { server = &http.Server{
server = &http.Server{ Addr: httpAddr,
Addr: httpAddr, ReadHeaderTimeout: 60 * time.Second,
ReadHeaderTimeout: 60 * time.Second, IdleTimeout: 120 * time.Second,
IdleTimeout: 120 * time.Second, }
server.RegisterOnShutdown(func() {
groups.mu.Lock()
defer groups.mu.Unlock()
for _, g := range groups.groups {
go g.shutdown("server is shutting down")
} }
server.RegisterOnShutdown(func() { })
groups.mu.Lock() go func() {
defer groups.mu.Unlock()
for _, g := range groups.groups {
go g.shutdown("server is shutting down")
}
})
var err error var err error
err = server.ListenAndServeTLS( err = server.ListenAndServeTLS(
filepath.Join(dataDir, "cert.pem"), filepath.Join(dataDir, "cert.pem"),