code: func (c *singleConn) Close() error {
  	c.eventMu.Lock()
  	if c.event != nil {
  		evt := c.event
  		c.event = nil
  		defer evt.Close()
  	}
  	c.eventMu.Unlock()
  
  	// close underlying connection
  	return c.maconn.Close()
  }
docs: // close is the internal close function, called by ContextCloser.Close