Lines Matching +full:is +full:- +full:path +full:- +full:inside
4 * congestion count (= threads inside the critical section, CS) in a
5 * single int that is accessed through atomic operations. The states
8 * x == 0: unlocked and no thread inside the critical section
10 * x < 0: locked with a congestion of x-INT_MIN, including the thread
15 * or in an equivalent formulation x is the congestion count or'ed
23 /* fast path: INT_MIN for the lock, +1 for the congestion */ in __lock()
29 if (current < 0) current -= INT_MIN + 1; in __lock()
35 // Spinning failed, so mark ourselves as being inside the CS. in __lock()
38 * change to the value performed inside that loop is a successful in __lock()
45 current -= INT_MIN + 1; in __lock()
56 /* Check l[0] to see if we are multi-threaded. */ in __unlock()
58 if (a_fetch_add(l, -(INT_MIN + 1)) != (INT_MIN + 1)) { in __unlock()