internal void closeExistingConnection(Connection cnn) { if (!this.DisposeStarted) lock(m_ListSync) { var lst = new List<Connection>(m_List); lst.Remove(cnn); m_List = lst;//atomic } }
private Connection openNewConnection() { var result = new Connection( this ); lock(m_ListSync) { var lst = new List<Connection>(m_List); lst.Add(result); m_List = lst;//atomic } return result; }