Fix goroutine leak in Run

D'oh, the servers' Shutdown() would never be called because they were
never added to the list of servers.

Thanks Danny for finding this.
This commit is contained in:
Matthew Holt committed 2019-03-27 12:36:30 -06:00
1 parent a8dc73b4d9
commit 27ff6aeccb
4 files changed
+7 -6

No files matched your search

+5 -1
View File
@@ -1 +1,5 @@
_gitignore/
_gitignore/
# artifacts from pprof tooling
*.prof
*.test
+1 -1
View File
@@ -33,7 +33,7 @@ func StartAdmin(addr string) error {
mux := http.NewServeMux()
mux.HandleFunc("/load", handleLoadConfig)
///// BEGIN PPROF STUFF //////
///// BEGIN PPROF STUFF (TODO: Temporary) /////
mux.HandleFunc("/debug/pprof/", pprof.Index)
mux.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
mux.HandleFunc("/debug/pprof/profile", pprof.Profile)
-4
View File
@@ -4,7 +4,6 @@ import (
"encoding/json"
"fmt"
"log"
"runtime/debug"
"strings"
"sync"
"time"
@@ -49,9 +48,6 @@ func Start(cfg Config) error {
currentCfg = &cfg
currentCfgMu.Unlock()
// TODO: debugging memory leak...
debug.FreeOSMemory()
return nil
}
+1
View File
@@ -49,6 +49,7 @@ func (hc *httpModuleConfig) Run() error {
return fmt.Errorf("%s: listening on %s: %v", proto, addr, err)
}
go s.Serve(ln)
hc.servers = append(hc.servers, s)
}
}
}