code: func (conn *Conn) Signal(ch chan<- *Signal) {
  	conn.signalsLck.Lock()
  	conn.signals = append(conn.signals, ch)
  	conn.signalsLck.Unlock()
  }
docs: // Signal registers the given channel to be passed all received signal messages.
  // The caller has to make sure that ch is sufficiently buffered; if a message
  // arrives when a write to c is not possible, it is discarded.
  //
  // Multiple of these channels can be registered at the same time. Passing a
  // channel that already is registered will remove it from the list of the
  // registered channels.
  //
  // These channels are "overwritten" by Eavesdrop; i.e., if there currently is a
  // channel for eavesdropped messages, this channel receives all signals, and
  // none of the channels passed to Signal will receive any signals.