undo changes to initialization order in node; add check to make sure n.Net.Close isn't a nil pointer dereference

This commit is contained in:
Dan Laine 2020-06-29 16:11:17 -04:00
parent eeb5f97499
commit e144b1087e
1 changed files with 9 additions and 5 deletions

View File

@ -408,7 +408,11 @@ func (n *Node) initAPIServer() error {
err := n.APIServer.Dispatch()
n.Log.Fatal("API server initialization failed with %s", err)
n.Net.Close()
if n.Net != nil {
if err := n.Net.Close(); err != nil {
n.Log.Error("error closing network: %s", err)
}
}
})
return nil
}
@ -563,10 +567,6 @@ func (n *Node) Initialize(Config *Config, logger logging.Logger, logFactory logg
n.initBeacons()
if err = n.initNetworking(); err != nil { // Set up P2P networking
return fmt.Errorf("problem initializing networking: %w", err)
}
// Start HTTP APIs
if err := n.initAPIServer(); err != nil { // Start the API Server
return fmt.Errorf("couldn't initialize API server: %w", err)
@ -577,6 +577,10 @@ func (n *Node) Initialize(Config *Config, logger logging.Logger, logFactory logg
// initialize shared memory
n.initSharedMemory()
if err = n.initNetworking(); err != nil { // Set up all networking
return fmt.Errorf("problem initializing networking: %w", err)
}
if err := n.initVMManager(); err != nil { // Set up the vm manager
return fmt.Errorf("problem initializing the VM manager: %w", err)
}