protected void TcpLocked(Action action) { if (closing) { return; } serialLock.DoLocked(action); }
internal void DoSerialized(Action action, bool ignoreDisposed = false) { if (disposing && !ignoreDisposed) { return; } serialLock.DoLocked(action); if (!serialLock.IsLockedByMe) { if (!garbage.IsEmpty) { LogMinorEvent("Disposing garbage"); Connection c; while (garbage.TryTake(out c)) { c.Dispose(); old.Add(c); } } } }