This manifested with https://gitlab.winehq.org/wine/wine/-/merge_requests/8875, as it adds fd_cache_mutex lock on thread init to receive the new inproc sync file descriptors. The kernel32:sync test creates a thread then immediately terminates it, which causes wineserver to close its pipe while it is initializing, triggering a SIGPIPE that is receive while the thread is within the server_init_thread call and request.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8878
This will be useful if not necessary at some point for shared resources, to send / receive fds with the D3DKMT requests.
There's maybe an option to use `wine_server_fd_to_handle` / `wine_server_handle_to_fd` instead, but that would require creating file objects for every resource on the server side, and that seemed a bit unnecessary.
Also, on the macOS side, we will likely want to extend these helper and the fd_type enum, to include and support sending / receiving mach_port_t fd types, as shared resources are backed by those on that platform. This probably doesn't fit too well with the otherwise unix file fds and the fd cache.
It's maybe a bit awkward to squeeze the fd type bits into the request header but I didn't find a good other way and increasing its size breaks the size <= 64 assumption. It could be a pointer within the request struct passed to the helper call, but it seem a bit awkward from a usage point of view: hard to make it clear that it needs to be within the request struct.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8963
NtSetEventBoostPriority stub regression fixes for:
https://bugs.winehq.org/show_bug.cgi?id=58688
Regressive commit: ed9f31120b68e7d684c1544c05d94c38b25cb759
Other stubs were also changed by regress commit and may still be broken.
I'll test the other stubs and fix if necessary.
In the meantime I'm submitting this merge for review in case I missed anything that may be needed for the other stub fixes.
--
v3: winegstreamer: Free stream buffers before wg_parser_disconnect.
win32u: Swap the last window drawable if there's no context.
win32u: Use context->draw directly when flushing context.
win32u: Move memory DC pbuffer handling out of context_sync_drawables.
include: Use the client pointer in debugstr_opengl_drawable.
opengl32/tests: Test that window back buffers are shared.
opengl32: Use generated PE thunks for memory unmapping functions.
opengl32: Use generated PE thunks for memory mapping functions.
opengl32: Move copy buffer allocation to Unix lib.
preloader: Make thread_ldt reference position independent.
ntdll: Fix a buffer overflow in wcsncpy.
d3dx11: Implement D3DX11GetImageInfoFromMemory() using shared code.
d3dx11/tests: Import more image info tests from d3dx10.
d3dx11/tests: Add a helper function for checking image info structure values.
d3dx11_42: Don't share source with d3dx11_43.
ntdll: Always use 32-bit LDT base addresses.
ntdll: Add helpers to build some specific LDT entries.
ntdll: Add a helper to update the LDT copy.
ntdll: Move some LDT definitions to the private header.
gitlab: Add CI job to trigger winehq-bot processing.
windows.media.playback.backgroundmediaplayer: Implement IBackgroundMediaPlayerStatics::get_Current().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::put/get_Thumbnail().
windows.media.mediacontrol: Implement ISystemMediaTransportControls::put/get_IsStopEnabled().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::ClearAll().
windows.media.mediacontrol: Stub ISystemMediaTransportControls::add/remove_ButtonPressed().
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8955
NtSetEventBoostPriority stub regression fixes for:
https://bugs.winehq.org/show_bug.cgi?id=58688
Regressive commit: ed9f31120b68e7d684c1544c05d94c38b25cb759
Other stubs were also changed by regress commit and may still be broken.
I'll test the other stubs and fix if necessary.
In the meantime I'm submitting this merge for review in case I missed anything that may be needed for the other stub fixes.
--
v2: ntdll: wow64_NtSetEventBoostPriority call ntdll/unix/sync.c::NtSetEventBoostPriority
https://gitlab.winehq.org/wine/wine/-/merge_requests/8955
When running `SymInitializeW(GetCurrentProcess(), NULL, TRUE)` in a 32-bit EXE on 64-bit macOS, there are a number of syscall faults resulting from 64-bit pointers being truncated to 32 bits and then passed to `ReadProcessMemory()`. Fix these, mostly by widening variables to 64 bits.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8962
--
v3: win32u: Read class name from the shared memory object.
server: Keep a class object locator in the window shared object.
win32u: Use NtUserGetClass(Long|Name)W in needs_ime_window.
server: Write class name to the shared memory object.
server: Create a shared object for window classes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8850