diff --git a/app/app.go b/app/app.go index 465e02b..2d403d3 100644 --- a/app/app.go +++ b/app/app.go @@ -341,22 +341,11 @@ func (app *application) shutdownPeer(onion string) { // Shutdown shutsdown all peers of an app func (app *application) Shutdown() { - for id, peer := range app.peers { + app.appmutex.Lock() + defer app.appmutex.Unlock() + for id := range app.peers { log.Debugf("Shutting Down Peer %v", id) - peer.Shutdown() - log.Debugf("Shutting Down Plugins for %v", id) - app.plugins.Range(func(k, v interface{}) bool { - log.Debugf("shutting down plugins for %v", k) - app.ShutdownPeer(k.(string)) - return true - }) - log.Debugf("Shutting Down Engines for %v", id) - if _, ok := app.engines[id]; ok { - app.engines[id].Shutdown() - } - log.Debugf("Shutting Down Bus for %v", id) - app.eventBuses[id].Shutdown() - log.Debugf("Done Shutdown for peer %v", id) + app.shutdownPeer(id) } log.Debugf("Shutting Down App") app.appBus.Shutdown()