Startup and lock counts in native Windows are separate, and the lock count does not decrease when an async result is freed if the platform has been started.
--
v4: rtworkq: Introduce an async result object cache.
rtworkq: Introduce a platform startup count.
rtworkq/tests: Test work queue.
mfplat/tests: Test platform startup and lock counts.
mfplat/tests: Test mixing of MF platform functions with their Rtwq equivalents.
mfplat/tests: Introduce a helper to check the platform lock count.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7174
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v13: programs/cmd: Add tests patch from @epo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
This MR adds an implementation for the `IAsyncAction` and `IAsyncInfo` interfaces exported by `Windows.System.Threading`, including support for setting `IAsyncActionCompletedHandler` values for an `IAsyncAction`.
It also re-writes (or factors?) the `IAsyncOperation<boolean>` implementation in dlls/cryptowinrt to use `ThreadPoolStatics::RunAsync`, by introducing a type-punning variant of `AsyncOperationCompletedHandler<T>` (similar to `WineAsyncOperationCompletedHandler`), which is a wrapper around the `IAsyncAction` returned by `RunAsync`.
The new `IAsyncOperation<T>` implementation is simpler, and if merged, can be exported to other dlls (windows.gaming.input and windows.security.credentials.ui.userconsentverifier for now).
--
v6: cryptowinrt: Rewrite IAsyncOperation using Windows.System.Threading.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6889
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v12: programs/cmd: Tests patch from @epo
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
"DIR /o" (no order specifier after /o) hasn't functioned the same as it does on Windows. This change makes the functionality of /o by itself equivalent to behavior on Windows.
--
v10: programs/cmd: Cleanup DIR /O logic.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131
On Fri Jan 31 17:26:57 2025 +0000, eric pouech wrote:
> Thanks for the submission.
> I'm not thrilled by the outcome style-wise, but given the starting
> point, I fully agree with you that it'll way too large to go further.
> Two remarks though:
> The commit message should read: "programs/cmd: Cleanup DIR /O logic."
> (without the quotes) we want to trace which module is addressed by the
> change, and commit line should be terminated by a '.'
> Content-wise, we definitively need to embed the tests (as the ones I
> posted above) inside the merge request in order to detect potential
> further regressions. This means the MR shall contain two patches:
> * first patch in MR: the tests (marked with @todo_wine@ for the failing
> ones),
> * the second patch in MR: basically your current patch + removal of
> @todo_wine@ that now pass.
> Either you feel up to do it (feel free to use the patch of tests above);
> if not, I can repackage your patch into the desired form.
Thanks for the feedback and guidance. I appreciate it.
I can certainly try to change the commit message and add the test patch to the MR. I was never able to get the tests to run on my system, however. I believe that it's likely that my build is inadequate. I am not building a full Wine with WOW64 support, etc. Perhaps the CI will run the tests and perhaps I can see the results to see if they are failing, etc.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7131#note_93332