public void RemovePath(string path) { PathEdgeListener pel = null; lock( _sync ) { if(!_pel_map.TryGetValue(path, out pel)) { return; } _pel_map.Remove(path); } if(pel != null) { pel.Stop(); } }
public override void Stop() { if (0 == Interlocked.Exchange(ref _is_started, 0)) { return; } //Actually stopped this time. _pem.RemovePath(_path); }