public static FutexCompletionEntry CreateSentinal()
 {
     var e = new FutexCompletionEntry(null, UserPtr.Zero, 0);
     e.nextFutex = e;
     e.prevFutex = e;
     return e;
 }
        public static FutexCompletionEntry CreateSentinal()
        {
            var e = new FutexCompletionEntry(null, UserPtr.Zero, 0);

            e.nextFutex = e;
            e.prevFutex = e;
            return(e);
        }
        internal void InsertAtTail(FutexCompletionEntry n)
        {
            var tail = this.prevFutex;

            n.nextFutex = tail.nextFutex;
            n.prevFutex = tail;
            tail.nextFutex.prevFutex = n;
            tail.nextFutex           = n;
        }
        internal void InsertAtTail(FutexCompletionEntry n)
        {
            var tail = this.prevFutex;

            n.nextFutex = tail.nextFutex;
            n.prevFutex = tail;
            tail.nextFutex.prevFutex = n;
            tail.nextFutex = n;
        }
        public void Unlink()
        {
            if (prevFutex != null)
                prevFutex.nextFutex = nextFutex;

            if (nextFutex != null)
                nextFutex.prevFutex = prevFutex;

            nextFutex = prevFutex = null;
        }
        public void Unlink()
        {
            if (prevFutex != null)
            {
                prevFutex.nextFutex = nextFutex;
            }

            if (nextFutex != null)
            {
                nextFutex.prevFutex = prevFutex;
            }

            nextFutex = prevFutex = null;
        }