code: func (tp *timerPool) Put(t *time.Timer) {
  	if !t.Stop() {
  		select {
  		case <-t.C:
  		default:
  		}
  	}
  
  	tp.p.Put(t)
  }
docs: // Put pools the given timer.
  //
  // There is no need to call t.Stop() before calling Put.
  //
  // Put will try to stop the timer before pooling. If the
  // given timer already expired, Put will read the unreceived
  // value if there is one.