|
[ ghc-Bugs-1183455 ] Possible error using concurrency: msg#00089lang.haskell.glasgow.bugs
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> |
|---|---|---|
| Previous by Date: | [ ghc-Bugs-1179267 ] darcs crash, SourceForge.net |
|---|---|
| Next by Date: | RE: calling back to Haskell from several C threads, Simon Marlow |
| Previous by Thread: | [ ghc-Bugs-1183455 ] Possible error using concurrency, SourceForge.net |
| Next by Thread: | ghc's hPutBuf doesn't obey the buffering mode, Ian Lynagh |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |