The masks are checked in win32u, and updated if necessary, right before
waiting for messages. They tell wineserver which of the bits we want the
queue to be signaled for in the following wait.
There should be no need to clear the mask after waiting, and doing it
will always force clients to update them again on the next wait, causing
an additional request.
--
v2: server: Remove skip_wait flag from set_queue_mask.
server: Do not clear queue masks in msg_queue_satified.
server: Rename queue is_signaled to get_queue_status.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8985
Later, a similar inproc sync as the queue will be created for user APC alerts and sent on thread init as well, saving us the need to special case those in the get_inproc_sync request and in the cache.
--
v7: ntdll: Notify wineserver when waiting on inproc queue.
ntdll: Add a reference count to inproc_sync objects.
server: Create an inproc sync for message queue signaling.
win32u: Move server queue handle to ntuser_thread_info.
ntdll: Introduce a helper to wait on an server-side sync object.
ntdll: Check inproc sync signal rights in signal and wait.
server: Use a specific type for internal inproc event syncs.
wineserver: Request RLIMIT_NOFILE maximum allowed value.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8875
On Wed Sep 17 02:55:19 2025 +0000, Michael Stefaniuc wrote:
> Looks good.
> Do you have a game / application that tripped over the DMUS_EFFECT_REVERB?\
> Pure interest as it seems I had botched the test that ended up forcing
> the DMUS_EFFECT_REVERB on.
No, I'm just writing some synthesis tests, and it's getting in the way.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8974#note_116030