Thread and RunLoopMode.common in not available on WASM
Kyle-Ye opened this issue · comments
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?
This is expected since we don't enable any RunLoop feature at this moment. Might be unblocked after porting libdispatch with threading support.