[Haskell-cafe] Thread scheduling and GHC.Conc
Jake Foell
jacobrfoell at eaton.com
Thu Dec 18 16:08:04 EST 2008
using ghc v6.8.2
Problem:
I am creating a program that forks two other lightweight threads. One
of the forked threads seems to be stuck or dead after running
successfully for a non-trivial amount of time. I am receiving no
error messages.
Questions:
What is the best way to diagnose this problem? (perhaps a ghc upgrade to
a version that includes processStatus?)
Does the runtime system ensure that no thread will starve for processor
time?
My initial diagnosis:
by looking at log files that this program produces, it seems that the
thread in question is failing while receiving a response from a server.
Here is a simplified exerpt:
h <- connectTo server port
appendFile file "Connection Established\n"
hPutStr h httpRequestString
hFlush h
reply <- hGetContents h
appendFile file reply
If I look at the tail of file that is created, I see something similar
to this:
...
Connection Established
here is the response...
Connection Established
Answers to my questions and/or any advice would be appreciated. thanks
More information about the Haskell-Cafe
mailing list