Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
7e7b6ea8
Commit
7e7b6ea8
authored
Aug 31, 2006
by
Simon Marlow
Browse files
add conc059
parent
77e4f3d3
Changes
4
Hide whitespace changes
Inline
Side-by-side
testsuite/tests/ghc-regress/concurrent/should_run/all.T
View file @
7e7b6ea8
...
...
@@ -137,3 +137,8 @@ else:
test
('
conc058
',
compose
(
only_compiler_types
(['
ghc
']),
config058
),
compile_and_run
,
[''])
test
('
conc059
',
compose
(
only_compiler_types
(['
ghc
']),
only_ways
(['
threaded1
','
threaded2
'])),
compile_and_run
,
['
conc059_c.c
'])
testsuite/tests/ghc-regress/concurrent/should_run/conc059.hs
0 → 100644
View file @
7e7b6ea8
{-# OPTIONS_GHC -fffi -cpp #-}
module
Test
where
import
Control.Concurrent
import
Control.Monad
import
Foreign.C
-- See also conc059_c.c
--
-- This test fires off some threads that will return after the RTS has
-- shut down. This should not crash or confuse the RTS.
f
::
Int
->
IO
()
f
x
=
do
print
x
replicateM_
10
$
forkIO
$
do
usleep
(
fromIntegral
x
);
putStrLn
"hello"
return
()
foreign
export
ccall
"f"
f
::
Int
->
IO
()
#
ifdef
mingw32_HOST_OS
foreign
import
stdcall
safe
"Sleep"
_sleep
::
Int
->
IO
()
usleep
n
=
_sleep
(
n
`
quot
`
1000
)
#
else
foreign
import
ccall
safe
"usleep"
usleep
::
Int
->
IO
()
#
endif
testsuite/tests/ghc-regress/concurrent/should_run/conc059.stdout
0 → 100644
View file @
7e7b6ea8
exiting...
exited.
testsuite/tests/ghc-regress/concurrent/should_run/conc059_c.c
0 → 100644
View file @
7e7b6ea8
#include
"HsFFI.h"
#include
"conc059_stub.h"
#include
<unistd.h>
#include
<stdio.h>
int
main
(
int
argc
,
char
*
argv
[])
{
hs_init
(
&
argc
,
&
argv
);
f
(
500000
);
usleep
(
100000
);
printf
(
"exiting...
\n
"
);
hs_exit
();
printf
(
"exited.
\n
"
);
usleep
(
1000000
);
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment