Skip to content

Make iOS fully thread safe#3045

Merged
madsmtm merged 4 commits intomasterfrom
finish-apple-thread-safety
Aug 27, 2023
Merged

Make iOS fully thread safe#3045
madsmtm merged 4 commits intomasterfrom
finish-apple-thread-safety

Conversation

@madsmtm
Copy link
Copy Markdown
Member

@madsmtm madsmtm commented Aug 25, 2023

Part of #2464.

Now, MonitorHandle and VideoMode are usable from any thread.

Also did a few other cleanups, in preparation for making EventLoopWindowTarget independent of the user event type, to fix the macOS and iOS part of #3053.

  • Tested on all platforms changed
    • macOS
    • iOS
  • Added an entry to CHANGELOG.md if knowledge of this change could be valuable to users

@madsmtm madsmtm added S - enhancement Wouldn't this be the coolest? DS - appkit Affects the AppKit/macOS backend DS - uikit Affects the UIKit backend (iOS, tvOS, watchOS, visionOS) S - maintenance Repaying technical debt labels Aug 25, 2023
@madsmtm madsmtm changed the title Make iOS thread safe Make iOS fully thread safe Aug 25, 2023
@madsmtm madsmtm force-pushed the finish-apple-thread-safety branch from f94bde1 to e0fb1cf Compare August 25, 2023 22:37
@madsmtm madsmtm mentioned this pull request Aug 27, 2023
17 tasks
@madsmtm madsmtm force-pushed the finish-apple-thread-safety branch from e0fb1cf to e73b3a3 Compare August 27, 2023 14:37
@madsmtm madsmtm marked this pull request as ready for review August 27, 2023 14:44
@madsmtm
Copy link
Copy Markdown
Member Author

madsmtm commented Aug 27, 2023

CI fails installing cargo-apk in MSRV, notifying @rib @MarijnS95, going to ignore it here.

@madsmtm madsmtm merged commit 86baa1c into master Aug 27, 2023
@madsmtm madsmtm deleted the finish-apple-thread-safety branch August 27, 2023 15:04
@kchibisov
Copy link
Copy Markdown
Member

@madsmtm it's just broken cargo, don't think about it.

@kchibisov
Copy link
Copy Markdown
Member

I've fixed it already thoug.h

@MarijnS95
Copy link
Copy Markdown
Member

Looks like a transitive dependency that bumped their MSRV eagerly.

kchibisov pushed a commit to kchibisov/winit that referenced this pull request Oct 17, 2023
* macOS & iOS: Refactor EventWrapper

* macOS & iOS: Make EventLoopWindowTarget independent of the user event

* iOS: Use MainThreadMarker instead of marking functions unsafe

* Make iOS thread safe
kchibisov pushed a commit that referenced this pull request Oct 21, 2023
* macOS & iOS: Refactor EventWrapper

* macOS & iOS: Make EventLoopWindowTarget independent of the user event

* iOS: Use MainThreadMarker instead of marking functions unsafe

* Make iOS thread safe
@daxpedda daxpedda mentioned this pull request Dec 20, 2023
@madsmtm madsmtm mentioned this pull request Feb 13, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DS - appkit Affects the AppKit/macOS backend DS - uikit Affects the UIKit backend (iOS, tvOS, watchOS, visionOS) S - enhancement Wouldn't this be the coolest? S - maintenance Repaying technical debt

Development

Successfully merging this pull request may close these issues.

3 participants