我有一个forkOS线程,这是与freeGlut交谈的唯一线程。一切都很顺利。线程轮询thunks进行计算,并且只是愉快地完成它们。但是当我用退出语句杀死它时,它冻结并让儿童窗口悬挂在我的桌面上(注意:这是在线程代码中;我试图彻底解除过剩的问题;而不是一个thunk它&#39 ; s)。有没有人遇到过这个问题,或者知道会导致什么?
g i o = do
m <- tryReadSig i
case m of
Just (GlutKill) -> do
putStrLn "exiting"
Glut.exit
putStrLn "exited"
writeSigF o ()
这真的是归结为一切。控制台退出然后挂起。