rw_lock_x_lock_func_nowait() { volatile long int lock_word; retry_x_lock: if (__sync_sub_and_fetch(&lock_word, 0x00100000)) if (__sync_fetch_and_add (&lock_word, 0x00100000)) goto retry_x_lock; }