System.Threading.CSnziRootNode.Arrive C# (CSharp) Method

Arrive() public method

public Arrive ( ) : bool
return bool
		public bool Arrive ()
		{
			int old;
			int c;
			CSnziState s;
			
			do {
				old = root;
				
				Decode (old, out c, out s);
				
				if (c == 0 && s == CSnziState.Closed)
					return false;
			} while (Interlocked.CompareExchange (ref root, Encode (c + 1, s), old) != old);
			
			return true;
		}