У меня по какой-то причине транзакция завершается бесконечно, и я хотел бы использовать инструкции трассировки внутри. Например, чтобы напечатать состояние 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
Приведет ли это программу к сбою или неправильному поведению?