Is this a concurrency bug in base?
Jean-Marie Gaillourdet
jmg at gaillourdet.net
Sun Oct 9 18:06:43 CEST 2011
On 09.10.2011, at 17:56, wagnerdm at seas.upenn.edu wrote:
> Quoting Jean-Marie Gaillourdet <jmg at gaillourdet.net>:
>
>> That sounds plausible. Do you see any workaround? Perhaps repeatedly evaluating typeOf?
>
> If there's a concurrency bug, surely the workaround is to protect calls to the non-thread-safe function with a lock.
>
> typeOfWorkaround lock v = do
> () <- takeMVar lock
> x <- evaluate (typeOf v)
> putMVar lock ()
> return x
Yes, but this workaround is in the IO monad while mine is not.
Jean
More information about the Glasgow-haskell-users
mailing list