code: func (p *Mx) Close() {
  	p.mu.Lock()
  	defer p.mu.Unlock()
  
  	if !p.closed {
  		p.closed = true
  		close(p.stop)
  	}
  }
docs: // Close is closing multiplexer and stopping all underlying workers.
  //
  // Closing multiplexer will stop all workers as soon as possible, but any
  // consume-in-progress action performed by worker has to be finished first. Any
  // consumption result received after closing multiplexer is ignored.
  //
  // Close is returning without waiting for all the workers to finish.
  //
  // Closing closed multiplexer has no effect.