Skip to content

Thread and RunLoopMode.common in not available on WASM #5581

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
Kyle-Ye opened this issue Apr 21, 2024 · 1 comment
Open

Thread and RunLoopMode.common in not available on WASM #5581

Kyle-Ye opened this issue Apr 21, 2024 · 1 comment

Comments

@Kyle-Ye
Copy link

Kyle-Ye commented Apr 21, 2024

Encounter some Thread related WASM error recently.

import Foundation

// Works on Ubuntu and macOS
@inline(__always)
func performOnMainThread(_ block: @escaping () -> Void) {
    if Thread.isMainThread {
        block()
    } else {
        RunLoop.main.perform(inModes: [.common], block: block)
    }
}
ThreadUtils.swift:15:41: error: reference to member 'common' cannot be resolved without a contextual type
        RunLoop.main.perform(inModes: [.common], block: block)
                                        ^
ThreadUtils.swift:12:8: error: cannot find 'Thread' in scope
    if Thread.isMainThread {

Is this an expected behavior and #5548 already keeps track of the issue?

@kateinoigakukun
Copy link
Member

This is expected since we don't enable any RunLoop feature at this moment. Might be unblocked after porting libdispatch with threading support.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants