Commit bb4a5f52 authored by acud's avatar acud Committed by GitHub

libp2p: fix shutdown panic (#1634)

parent 6ffa8bcb
...@@ -53,6 +53,7 @@ type Service struct { ...@@ -53,6 +53,7 @@ type Service struct {
host host.Host host host.Host
natManager basichost.NATManager natManager basichost.NATManager
natAddrResolver *staticAddressResolver natAddrResolver *staticAddressResolver
autonatDialer host.Host
libp2pPeerstore peerstore.Peerstore libp2pPeerstore peerstore.Peerstore
metrics metrics metrics metrics
networkID uint64 networkID uint64
...@@ -219,6 +220,7 @@ func New(ctx context.Context, signer beecrypto.Signer, networkID uint64, overlay ...@@ -219,6 +220,7 @@ func New(ctx context.Context, signer beecrypto.Signer, networkID uint64, overlay
host: h, host: h,
natManager: natManager, natManager: natManager,
natAddrResolver: natAddrResolver, natAddrResolver: natAddrResolver,
autonatDialer: dialer,
handshakeService: handshakeService, handshakeService: handshakeService,
libp2pPeerstore: libp2pPeerstore, libp2pPeerstore: libp2pPeerstore,
metrics: newMetrics(), metrics: newMetrics(),
...@@ -703,9 +705,14 @@ func (s *Service) Close() error { ...@@ -703,9 +705,14 @@ func (s *Service) Close() error {
if err := s.libp2pPeerstore.Close(); err != nil { if err := s.libp2pPeerstore.Close(); err != nil {
return err return err
} }
if s.natManager != nil {
if err := s.natManager.Close(); err != nil { if err := s.natManager.Close(); err != nil {
return err return err
} }
}
if err := s.autonatDialer.Close(); err != nil {
return err
}
return s.host.Close() return s.host.Close()
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment