You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
And Control.Exception.bracket uses interruptible masking for it’s cleanup handler. So if you need to perform some kind of blocking action in your cleanup, and you want to make sure that you don’t get interrupted by an async exception, you have to remember to use uninterruptibleMask yourself. Otherwise, your cleanup action may not complete, which is Bad News Bears.
The Ristretto code uses bracket to ensure memory gets freed. Only if it gets interrupted by an async exception, then maybe the memory won't be free after all.
The text was updated successfully, but these errors were encountered:
From https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1:
The Ristretto code uses
bracket
to ensure memory gets freed. Only if it gets interrupted by an async exception, then maybe the memory won't be free after all.The text was updated successfully, but these errors were encountered: