コード例 #1
0
 protected void TcpLocked(Action action)
 {
     if (closing)
     {
         return;
     }
     serialLock.DoLocked(action);
 }
コード例 #2
0
        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);
                    }
                }
            }
        }