【发布时间】:2015-06-01 08:51:00
【问题描述】:
我有一个事务由于某种原因无限期地失败,我想在里面使用跟踪指令。例如,在此片段中执行事务之前打印 MVar 的状态:
data_out <- atomically $ do
rtg_state <- takeTMVar ready_to_go
JobDescr hashid url <- T.readTBChan next_job_descr
case rtg_state of
Ready_RTG n -> do
putTMVar ready_to_go $ Processing_RTG n
putTMVar start_harvester_browser hashid
putTMVar next_test_url_to_check_chan hashid
putTMVar next_harvest_url hashid
return (n,hashid,url)
_ -> retry
这会使程序出现段错误或行为不端吗?
【问题讨论】: