2013-07-09 46 views
4

我收到這個錯誤打印到標準輸出,當我測試運行我正在運行一個Haskell程序。有時候,並不是所有的時間都發生在程序的相同運行中。forkOS_entry:中斷的錯誤:這是什麼?

forkOS_entry: interrupted 

程序中有一行調用mask_ $ forkIO來啓動另一個線程。我認爲錯誤來自該線程。有沒有一種方法可以得到更好的錯誤信息或以某種方式抑制此錯誤信息?到底是怎麼回事?該程序似乎運行良好,無論。

_ <- mask_ $ forkIO $ mapSSL cafilePath (icSSLWrapPort c) (icHostname c) (icPort c)

回答

1

我會檢查async包相關的功能。在遇到異步包之後,我發現這些函數對於我的測試更加可靠。具體而言,可能在這種情況下,幫助功能將

waitCatch :: Async a -> IO (Either SomeException a) 

Marlow book是理解併發包一個很好的參考。我希望參考文獻有所幫助。 如果您可以粘貼我可以測試的小樣本代碼,我可能會發布測試代碼。