code: func (m *Memberlist) deschedule() {
  	m.tickerLock.Lock()
  	defer m.tickerLock.Unlock()
  
  	// If we have no tickers, then we aren't scheduled.
  	if len(m.tickers) == 0 {
  		return
  	}
  
  	// Close the stop channel so all the ticker listeners stop.
  	close(m.stopTick)
  
  	// Explicitly stop all the tickers themselves so they don't take
  	// up any more resources, and get rid of the list.
  	for _, t := range m.tickers {
  		t.Stop()
  	}
  	m.tickers = nil
  }
docs: // Deschedule is used to stop the background maintenance. This is safe
  // to call multiple times.