
Duncan Coutts wrote:
The GHC run time system is designed to block without using CPU when all threads are blocked doing IO. Could you give more details? It would be useful to see the code or preferably a small test case that demonstrates your problem. What version of ghc are you using? Which OS are you running that on? I'm using ghc-6.2.1 to compile in 32bit mode while i'm running the program in 64bit (Linux Kernel 2.6.5, amd64) with the 32bit emulation libraries. I don't think that is the problem spot because all other 32bit application are working fine.
mainLoop dev = do inp <- hGetLine dev (runIndexCmd . parseInput) inp return () This is called from main with: devHandle <- openFile device ReadMode ................... catchJust asyncExceptions (forever (mainLoop devHandle)) (cleanup devHandle) forever = a >> forever a The module that manages the device puts a process to sleep with interruptible_sleep_on( queue ) if there's no data available and wakes it up as soon as input arrives. As i said before this works when i use "cat". _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus
participants (1)
-
Gerd M