You can make a stable name for the MVar which will prevent the rts from collecting it. Google it, there was a thread about this with Simon Marlow.

Robin


On Wed, Aug 5, 2015, 12:43 PM David Turner <dct25-561bs@mythic-beasts.com> wrote:
Hi,

Is there an elegant way to have a thread wait for an async exception but nothing else? I tend to do something like

    forever $ threadDelay 1000000000

but this seems like a bit of a hack. Waiting on an otherwise-unused MVar or doing 'atomically retry' don't work because GHC kills them off straight away.

The context is when using an API that only has a 'withMyThingy' wrapper and no explicit openMyThingy and closeMyThingy alternatives. Perhaps that's an API problem and the only way to work around this is with something a bit hacky?

Cheers,


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe