URWLOCK_WRITE_OWNER
if ((state & URWLOCK_WRITE_OWNER) != 0) {
if ((state & URWLOCK_WRITE_OWNER) == 0)
if (state & URWLOCK_WRITE_OWNER) {
if (ret == 0 && (state & URWLOCK_WRITE_OWNER) == 0)
wrflags = URWLOCK_WRITE_OWNER;
wrflags = URWLOCK_WRITE_OWNER | URWLOCK_WRITE_WAITERS;
while ((state & URWLOCK_WRITE_OWNER) == 0 &&
state | URWLOCK_WRITE_OWNER))
if ((state & URWLOCK_WRITE_OWNER) != 0) {
URWLOCK_WRITE_OWNER, 0))
wrflags = URWLOCK_WRITE_OWNER;
while ((state & URWLOCK_WRITE_OWNER) == 0 &&
&oldstate, state | URWLOCK_WRITE_OWNER);
if ((state & (URWLOCK_WRITE_OWNER |
while (error == 0 && ((state & URWLOCK_WRITE_OWNER) ||
if ((state & URWLOCK_WRITE_OWNER) == 0 &&
while ((state & URWLOCK_WRITE_OWNER) ||
if (state & URWLOCK_WRITE_OWNER) {
&oldstate, state & ~URWLOCK_WRITE_OWNER);
if (!(oldstate & URWLOCK_WRITE_OWNER)) {