diff --git a/libraries/ghc-internal/src/GHC/Conc/IO.hs b/libraries/ghc-internal/src/GHC/Conc/IO.hs index 24d4266477bdcf5f523be7d9ff835abf8fd498ed..e03decc0b76870950d86f8fd24046b687ca79f35 100644 --- a/libraries/ghc-internal/src/GHC/Conc/IO.hs +++ b/libraries/ghc-internal/src/GHC/Conc/IO.hs @@ -74,6 +74,11 @@ import GHC.Conc.Windows (asyncRead, asyncWrite, asyncDoProc, asyncReadBA, import qualified GHC.Event.Thread as Event #endif +#if defined(wasm32_HOST_ARCH) +import qualified GHC.Wasm.Prim.Conc as Wasm +import qualified GHC.Wasm.Prim.Flag as Wasm +#endif + ensureIOManagerIsRunning :: IO () #if defined(javascript_HOST_ARCH) ensureIOManagerIsRunning = pure () @@ -204,6 +209,8 @@ threadDelay time #if defined(mingw32_HOST_OS) | isWindowsNativeIO = Windows.threadDelay time | threaded = Windows.threadDelay time +#elif defined(wasm32_HOST_ARCH) + | Wasm.isJSFFIUsed = Wasm.threadDelay time #elif !defined(javascript_HOST_ARCH) | threaded = Event.threadDelay time #endif