public bool RemoveAndRelease(string name) { bool ret = false; lock (m_actors) { if (m_actors.ContainsKey(name)) { BSActor beingRemoved = m_actors[name]; m_actors.Remove(name); beingRemoved.Dispose(); ret = true; } } return(ret); }
public bool RemoveAndRelease(string name) { bool ret = false; m_actorsRwLock.AcquireWriterLock(-1); try { if (m_actors.ContainsKey(name)) { BSActor beingRemoved = m_actors[name]; m_actors.Remove(name); beingRemoved.Dispose(); ret = true; } } finally { m_actorsRwLock.ReleaseWriterLock(); } return(ret); }