mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 03:05:07 +03:00 
			
		
		
		
	Only stop timers if they are running
This commit is contained in:
		
							parent
							
								
									366fe7e772
								
							
						
					
					
						commit
						c78a4cb28f
					
				
					 2 changed files with 10 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -75,8 +75,12 @@ func (m *Multicast) Start() error {
 | 
			
		|||
// Stop is not implemented for multicast yet.
 | 
			
		||||
func (m *Multicast) Stop() error {
 | 
			
		||||
	m.isOpen = false
 | 
			
		||||
	m.announcer.Stop()
 | 
			
		||||
	m.platformhandler.Stop()
 | 
			
		||||
	if m.announcer != nil {
 | 
			
		||||
		m.announcer.Stop()
 | 
			
		||||
	}
 | 
			
		||||
	if m.platformhandler != nil {
 | 
			
		||||
		m.platformhandler.Stop()
 | 
			
		||||
	}
 | 
			
		||||
	m.sock.Close()
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -110,7 +110,6 @@ func (c *Core) _addPeerLoop() {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Sit for a while
 | 
			
		||||
	c.addPeerTimer = time.AfterFunc(time.Minute, func() {
 | 
			
		||||
		c.Act(c, c._addPeerLoop)
 | 
			
		||||
	})
 | 
			
		||||
| 
						 | 
				
			
			@ -178,9 +177,7 @@ func (c *Core) _start(nc *config.NodeConfig, log *log.Logger) (*config.NodeState
 | 
			
		|||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	c.addPeerTimer = time.AfterFunc(time.Second, func() {
 | 
			
		||||
		c.Act(c, c._addPeerLoop)
 | 
			
		||||
	})
 | 
			
		||||
	c.Act(c, c._addPeerLoop)
 | 
			
		||||
 | 
			
		||||
	c.log.Infoln("Startup complete")
 | 
			
		||||
	return &c.config, nil
 | 
			
		||||
| 
						 | 
				
			
			@ -194,7 +191,9 @@ func (c *Core) Stop() {
 | 
			
		|||
// This function is unsafe and should only be ran by the core actor.
 | 
			
		||||
func (c *Core) _stop() {
 | 
			
		||||
	c.log.Infoln("Stopping...")
 | 
			
		||||
	c.addPeerTimer.Stop()
 | 
			
		||||
	if c.addPeerTimer != nil {
 | 
			
		||||
		c.addPeerTimer.Stop()
 | 
			
		||||
	}
 | 
			
		||||
	for _, peer := range c.GetPeers() {
 | 
			
		||||
		c.DisconnectPeer(peer.Port)
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue