diff options
author | Matthew Holt <mholt@users.noreply.github.com> | 2019-03-27 12:36:30 -0600 |
---|---|---|
committer | Matthew Holt <mholt@users.noreply.github.com> | 2019-03-27 12:36:30 -0600 |
commit | 27ff6aeccb99995880a86ee482dd90c1e5c85d85 (patch) | |
tree | cbdca5162a3cba8a029ca6d1c53aa470274f94e4 | |
parent | a8dc73b4d9db5edf85e78314c9759b9d12a79b71 (diff) |
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.
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | admin.go | 2 | ||||
-rw-r--r-- | caddy.go | 4 | ||||
-rw-r--r-- | modules/caddyhttp/caddyhttp.go | 1 |
4 files changed, 7 insertions, 6 deletions
@@ -1 +1,5 @@ -_gitignore/
\ No newline at end of file +_gitignore/ + +# artifacts from pprof tooling +*.prof +*.test @@ -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,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 } diff --git a/modules/caddyhttp/caddyhttp.go b/modules/caddyhttp/caddyhttp.go index ec2637a..529c1f7 100644 --- a/modules/caddyhttp/caddyhttp.go +++ b/modules/caddyhttp/caddyhttp.go @@ -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) } } } |