> This was already committed, but is this really correct? I'm not seeing RtlRestoreContext exported from i386 kernel32 or ntdll on my Windows 10 machine. (Maybe it's out of date, though? I have Windows 10 version 21H2, build 19044.1826.)
Yes, it was added fairly recently.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/678#note_6852
Fixes a bug that occurs when:
- `CoInitializeEx(NULL, COINIT_MULTITHREADED);` is called on thread 1
- `CoInitializeEx(NULL, COINIT_MULTITHREADED);` is called on thread 2
- `CoUninitialize()` is called on thread 1.
- `CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);` is called on thread 1.
After this, when attempting to marshal an interface on thread 2, when `ipid_to_ifstub` is called, `apartment_findfromtid()` will find thread 1's STA and not the MTA.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/705
This includes some fixes for obvious mistakes as well as initial cleanup of the WM async reader, in preparation for implementing proper threading support.
I'm planning on doing some more refactoring first, ultimately implementing the async reader on top of the sync reader, and removing the need for a private interface. I've checked that it can indeed work on Windows too, and it'll make the code simpler overall.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/695
- Based on !463
- _RunAndWait and exception handling implemented in later commits
@piotr
--
v28: msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
msvcr100: Factor out the mapping of a context to a scheduler.
https://gitlab.winehq.org/wine/wine/-/merge_requests/464