logo       

[ ghc-Bugs-1183455 ] Possible error using concurrency: msg#00089

lang.haskell.glasgow.bugs

Subject: [ ghc-Bugs-1183455 ] Possible error using concurrency

Bugs item #1183455, was opened at 2005-04-15 01:12
Message generated for change (Comment added) made by simonmar
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1183455&group_id=8032

Category: libraries (other)
Group: 6.4
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: Possible error using concurrency

Initial Comment:
{-
Error description:

In windows xp sp2 with ghc-6-4, GHCi ends with
"internal error: deadlock: main thread blocked in a
strange way"
In RedHat Linux, it just blocks.
A probably cause, it's that the scheduler hasn't yet
run oneThread
before the second putTMVAr, because no memory
allocation has been
requested.
Try on the calls forkIO and runInUnboundThread.

contact info: leonelfl@xxxxxxxxx
-}
import Control.Concurrent
import Control.Concurrent.STM
import Control.Concurrent.STM.TMVar
main = do
stopFlag <- atomically (do t <- newEmptyTMVar;
return t)
threadDelay 100001
--t <- forkIO $ oneThread stopFlag -- this line would
work fine...
-- but the following one doesn't work.
runInUnboundThread $ oneThread stopFlag
threadDelay 100002
atomically ( putTMVar stopFlag True )
threadDelay 500003
atomically ( putTMVar stopFlag False )
return ()

oneThread stopFlag = do
go <- atomically ( takeTMVar stopFlag )
if go then do putStrLn "-"
oneThread stopFlag
else return ()




----------------------------------------------------------------------

>Comment By: Simon Marlow (simonmar)
Date: 2005-04-19 13:39

Message:
Logged In: YES
user_id=48280

Fixed the strange error message on Windows.

On Unix, the behaviour is correct: your main thread is
waiting for a condition that never happens.

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1183455&group_id=8032


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise