9 Aug
2023
9 Aug
'23
1:38 p.m.
Nikolay Sivov (@nsivov) commented about dlls/ntdll/sync.c:
- * the latter waits only on the "owners" member. Note then that "owners" - * must not be the first element in the structure. +enum srwlock_waiter_state { + SRWLOCK_WAITER_STATE_IS_EXCLUSIVE = 1, + /* ???? = 2, */ + SRWLOCK_WAITER_STATE_NOTIFIED = 4, +}; +DECLSPEC_ALIGN(16) struct srwlock_waiter { + /* Note the prev pointer is uninitialized for the list head. */ + struct srwlock_waiter *prev; + struct srwlock_waiter *head; + struct srwlock_waiter *next; + DWORD thread_id; +#ifdef _WIN64 + DWORD padding; +#endif This could probably be ULONG_PTR or similarly sized integer.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3504#note_41793