diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-06-07 10:46:21 +0100 |
---|---|---|
committer | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-06-07 10:46:21 +0100 |
commit | aafb7bf120d30c37219686a5bb528794b0ab44a2 (patch) | |
tree | 4a9b27432152025d45763fd75dff9f5d2212c29f /build/gobind-pinecone | |
parent | 0d7020fbaf97fb3275697033a7c3c2e6cf6eeacd (diff) |
Avoid panicking unnecessarily when shutting down the `gobind` P2P demos (#2520)
Diffstat (limited to 'build/gobind-pinecone')
-rw-r--r-- | build/gobind-pinecone/monolith.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/build/gobind-pinecone/monolith.go b/build/gobind-pinecone/monolith.go index 664ca85d..b44e110a 100644 --- a/build/gobind-pinecone/monolith.go +++ b/build/gobind-pinecone/monolith.go @@ -261,7 +261,7 @@ func (m *DendriteMonolith) Start() { cfg.MSCs.MSCs = []string{"msc2836", "msc2946"} cfg.ClientAPI.RegistrationDisabled = false cfg.ClientAPI.OpenRegistrationWithoutVerificationEnabled = true - if err := cfg.Derive(); err != nil { + if err = cfg.Derive(); err != nil { panic(err) } @@ -342,11 +342,23 @@ func (m *DendriteMonolith) Start() { go func() { m.logger.Info("Listening on ", cfg.Global.ServerName) - m.logger.Fatal(m.httpServer.Serve(m.PineconeQUIC.Protocol("matrix"))) + + switch m.httpServer.Serve(m.PineconeQUIC.Protocol("matrix")) { + case net.ErrClosed, http.ErrServerClosed: + m.logger.Info("Stopped listening on ", cfg.Global.ServerName) + default: + m.logger.Fatal(err) + } }() go func() { logrus.Info("Listening on ", m.listener.Addr()) - logrus.Fatal(http.Serve(m.listener, httpRouter)) + + switch http.Serve(m.listener, httpRouter) { + case net.ErrClosed, http.ErrServerClosed: + m.logger.Info("Stopped listening on ", cfg.Global.ServerName) + default: + m.logger.Fatal(err) + } }() } |