On 30/07/2012 15:30, Marco Túlio Gontijo e Silva wrote:
Hi.
I'm having a problem calling logM from hsLogger inside
unsafePerformIO. I have described the problem in Haskell-cafe, so
I'll avoid repeating it here:
http://www.haskell.org/pipermail/haskell-cafe/2012-July/102545.html
I've had this problem both with GHC 7.4.1 and 7.4.2. Do you have any
suggestion?
Is it possible that the String you are passing to uLog contains
unevaluated calls to uLog itself, which would thereby create a deadlock
as uLog tries to take the MVar that is already being held by the same
thread?
We once had this problem with hPutStr where if the argument string
contained a call to trace, which is unsafePerformIO $ hPutStr, the
result would be deadlock. Now hPutStr has to go to some trouble to
evaluate the input string while not holding the lock.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users