Strange, how could the scheduler assume a deadlock if the MVar could be called from a closure that is still alive? Can you show the code that you're testing?
On Mon, Jan 7, 2019, at 14:09, Phyx wrote: > Hi Phil, > > Thanks for the reply, however that just gives me a forced deadlock removal > as before. > > new bound thread (1) > cap 0: schedule() > cap 0: running thread 1 (ThreadRunGHC) > cap 0: thread 1 stopped (blocked on an MVar) > thread 1 @ 0000000003205388 is blocked on an MVar @ > 00000000032040c8 (TSO_DIRTY) > deadlocked, forcing major GC... > all threads: > threads on capability 0: > other threads: > thread 1 @ 0000000003205388 is blocked on an MVar @ > 00000000032040c8 (TSO_DIRTY) > cap 0: starting GC > > I don't believe any solution involving MVars will work for the non-threaded > RTS. Though I'd love to be wrong here... > > Regards, > Tamar _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs