forkOS_entry:中断错误:这是什么?

时间:2013-07-09 16:59:18

标签: haskell

当我测试运行我正在处理的Haskell程序时,我将此错误打印到stdout。在程序的相同运行中,它有时会发生,而不是一直发生。

forkOS_entry: interrupted

程序中有一行调用mask_ $ forkIO来启动另一个线程。我认为错误来自该线程。有没有办法可以获得更好的错误消息或以某种方式抑制此错误消息?到底是怎么回事?无论如何,该计划似乎运行良好。

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

1 个答案:

答案 0 :(得分:1)

我会检查async包中的相关功能。在绊倒异步软件包之后,我发现函数在我的测试中使用起来更加可靠。具体来说,在这种情况下可能有用的功能是

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

Marlow book是理解并发包的一个很好的参考。我希望参考有所帮助。 如果您可以粘贴我可以测试的小样本代码,我可以发布测试代码。