diff --git a/pkg/connmgr/connmgr.go b/pkg/connmgr/connmgr.go index a8e8442ac..450e87e33 100755 --- a/pkg/connmgr/connmgr.go +++ b/pkg/connmgr/connmgr.go @@ -27,7 +27,13 @@ type Connmgr struct { } //New creates a new connection manager -func New(cfg Config) *Connmgr { +func New(cfg Config) (*Connmgr, error) { + listener, err := net.Listen("tcp", cfg.AddressPort) + + if err != nil { + return nil, err + } + cnnmgr := &Connmgr{ cfg, make(map[string]*Request), @@ -36,13 +42,6 @@ func New(cfg Config) *Connmgr { } go func() { - - listener, err := net.Listen("tcp", cfg.AddressPort) - - if err != nil { - fmt.Println("Error connecting to outbound ", err) - } - defer func() { listener.Close() }() @@ -59,7 +58,7 @@ func New(cfg Config) *Connmgr { }() - return cnnmgr + return cnnmgr, nil } // NewRequest will make a new connection gets the address from address func in config diff --git a/pkg/server/connmgr.go b/pkg/server/connmgr.go index e97416801..155712cb6 100644 --- a/pkg/server/connmgr.go +++ b/pkg/server/connmgr.go @@ -11,7 +11,7 @@ import ( iputils "github.com/CityOfZion/neo-go/pkg/wire/util/ip" ) -func setupConnManager(s *Server, port uint16) *connmgr.Connmgr { +func setupConnManager(s *Server, port uint16) (*connmgr.Connmgr, error) { cfg := connmgr.Config{ GetAddress: s.getAddress, OnAccept: s.onAccept, diff --git a/pkg/server/server.go b/pkg/server/server.go index 22a781170..1e4d6407b 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -63,7 +63,10 @@ func New(net protocol.Magic, port uint16) (*Server, error) { s.smg = syncmgr // Setup connection manager - connmgr := setupConnManager(s, port) + connmgr, err := setupConnManager(s, port) + if err != nil { + return nil, err + } s.cmg = connmgr // Setup peer config