-
Notifications
You must be signed in to change notification settings - Fork 60
Making WinRT Send + Sync #210
Copy link
Copy link
Open
Description
After doing the research on CoreWindow, I realized we could also make this Send + Sync (like #196), but under different constraints. CoreWindow itself is !Send and there is really nothing we can change here. But WinRT offers a mechanism similar to MacOS's libdispatch, by wrapping the type into a IAgileReference. The wrapper is Send and it can be used to "marshal" function calls to the right thread.
So we have to options:
- Force
WinRtWindowHandleto be aIAgileReference<CoreWindow>instead ofCoreWindowand make itSend + Sync. - Introduce a new
WinRtAgileWindowHandlethat is aIAgileReference<CoreWindow>.
Considering there is no overhead for IAgileReference, apart from the cost of creation and resolving, we might want to consider just making it the default WinRtWindowHandle.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels