summaryrefslogtreecommitdiff
path: root/testsuite/tests/concurrent
diff options
context:
space:
mode:
authorCheng Shao <astrohavoc@gmail.com>2022-10-21 13:49:15 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-11-11 00:26:55 -0500
commit00124d12d3ab21951104b279dbc6999b8ea42fba (patch)
tree49b7d0469d636ca4a46ff347c62d338258603451 /testsuite/tests/concurrent
parent07e92c92673c48db0325f101d07d73134ed79fe9 (diff)
downloadhaskell-00124d12d3ab21951104b279dbc6999b8ea42fba.tar.gz
testsuite: correct sleep() signature in T5611
In libc, sleep() returns an integer. The ccall type signature should match the libc definition, otherwise it causes linker error on wasm.
Diffstat (limited to 'testsuite/tests/concurrent')
-rw-r--r--testsuite/tests/concurrent/should_run/T5611.hs5
-rw-r--r--testsuite/tests/concurrent/should_run/T5611a.hs5
2 files changed, 6 insertions, 4 deletions
diff --git a/testsuite/tests/concurrent/should_run/T5611.hs b/testsuite/tests/concurrent/should_run/T5611.hs
index 1b056178a2..174da10e53 100644
--- a/testsuite/tests/concurrent/should_run/T5611.hs
+++ b/testsuite/tests/concurrent/should_run/T5611.hs
@@ -1,6 +1,7 @@
{-# LANGUAGE CPP,ForeignFunctionInterface #-}
import Control.Concurrent
+import Data.Functor
import Foreign.C
import System.IO
@@ -8,8 +9,8 @@ import System.IO
sleep n = sleepBlock (n*1000)
foreign import stdcall safe "Sleep" sleepBlock :: Int -> IO ()
#else
-sleep n = sleepBlock n
-foreign import ccall safe "sleep" sleepBlock :: Int -> IO ()
+sleep n = void $ sleepBlock n
+foreign import ccall safe "sleep" sleepBlock :: Int -> IO Int
#endif
main :: IO ()
diff --git a/testsuite/tests/concurrent/should_run/T5611a.hs b/testsuite/tests/concurrent/should_run/T5611a.hs
index 81e6cc957e..6020c50a9d 100644
--- a/testsuite/tests/concurrent/should_run/T5611a.hs
+++ b/testsuite/tests/concurrent/should_run/T5611a.hs
@@ -3,6 +3,7 @@
{-# LANGUAGE CPP,ForeignFunctionInterface #-}
import Control.Concurrent
+import Data.Functor
import Foreign.C
import System.IO
@@ -10,8 +11,8 @@ import System.IO
sleep n = sleepBlock (n*1000)
foreign import stdcall unsafe "Sleep" sleepBlock :: Int -> IO ()
#else
-sleep n = sleepBlock n
-foreign import ccall unsafe "sleep" sleepBlock :: Int -> IO ()
+sleep n = void $ sleepBlock n
+foreign import ccall unsafe "sleep" sleepBlock :: Int -> IO Int
#endif
main :: IO ()