SX_LOCK_WRITE_SPINNER
if ((x & SX_LOCK_WRITE_SPINNER) && SX_SHARERS(x) == 0) {
if (((x & SX_LOCK_WRITE_SPINNER) && SX_SHARERS(x) == 0) ||
setx |= (x & SX_LOCK_WRITE_SPINNER);
if (x & SX_LOCK_WRITE_SPINNER)
if (x == (SX_LOCK_SHARED | SX_LOCK_WRITE_SPINNER)) {
if (!(x & SX_LOCK_WRITE_SPINNER)) {
x | SX_LOCK_WRITE_SPINNER)) {
if (!(x & SX_LOCK_WRITE_SPINNER))
setx = x & (SX_LOCK_WAITERS | SX_LOCK_WRITE_SPINNER);
setx &= ~SX_LOCK_WRITE_SPINNER;
if ((x & SX_LOCK_WRITE_SPINNER) ||
setx = x & ~SX_LOCK_WRITE_SPINNER;
if ((x & (SX_LOCK_SHARED | SX_LOCK_EXCLUSIVE_WAITERS | SX_LOCK_WRITE_SPINNER))
SX_LOCK_EXCLUSIVE_WAITERS | SX_LOCK_RECURSED | SX_LOCK_WRITE_SPINNER)