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).
--
v5: cryptowinrt: Rewrite IAsyncOperation using Windows.System.Threading.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6889
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).
--
v4: cryptowinrt: Rewrite IAsyncOperation using RunAsync from Windows.System.Threading.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6889
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).
--
v3: cryptowinrt: Rewrite IAsyncOperation using RunAsync from Windows.System.Threading.
threadpoolwinrt: Implement put_Completed and get_Completed for IAsyncAction.
threadpoolwinrt: Implement get_Id, get_Status, get_ErrorCode, Cancel, Close for IAsyncInfo.
threadpoolwinrt: Implement GetResults() for IAsyncInfo.
threadpoolwinrt/tests: Add conformance tests for setting IAsyncActionCompletedHandler handlers on an IAsyncAction.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6889
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).
--
v2: cryptowinrt: Rewrite IAsyncOperation using RunAsync from Windows.System.Threading.
threadpoolwinrt: Implement put_Completed and get_Completed for IAsyncAction.
threadpoolwinrt: Implement get_Id, get_Status, get_ErrorCode, Cancel, Close for IAsyncInfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6889
Windows 10 and 11 introduce the timeout.exe command. This is a similar program with same argument options
--
v19: timeout: add minimal test suite
timeout: Windows 10 introduce the timeout command
https://gitlab.winehq.org/wine/wine/-/merge_requests/6869