Huw Davies (@huw) commented about dlls/mmdevapi/client.c:
extern void sessions_unlock(void) DECLSPEC_HIDDEN;
+extern HRESULT get_audio_session(const GUID *sessionguid, IMMDevice *device, UINT channels, + struct audio_session **out) DECLSPEC_HIDDEN; extern struct audio_session_wrapper *session_wrapper_create(struct audio_client *client) DECLSPEC_HIDDEN;
+static HANDLE main_loop_thread; + +void stop_main_loop(void) +{ + if (main_loop_thread) { + WaitForSingleObject(main_loop_thread, INFINITE); + CloseHandle(main_loop_thread); + } +} + There's a lot of new things going on here and in subsequent commits. They need to be split like you've just done for the main_loop bits. It may be better to reduce the scope of this MR to just the main_loop stuff.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3027#note_35263