Zebediah Figura (@zfigura) commented about dlls/ntdll/sync.c:
old.Ptr);
- assert(tag & SRWLOCK_TAG_HAS_WAITERS);
- old = new;
- last = srwlock_get_waiter(old);
- assert(last != NULL);
- head = last->head;
- assert(head != NULL);
- last_up_to_date = last; /* the last waiter whose head pointer is up-to-date. */
- new_head = NULL;
- if (head->num_owners != 0 &&
{head->num_owners != SRWLOCK_WAITER_EXCLUSIVELY_LOCKED)
union { struct srw_lock s; LONG l; } old, new;
BOOL wait;
FIXME("head num_owners %lx\n", head->num_owners);
I'd call this an ERR. Also, if you're using %x, please use %#x.