[Haskell-cafe] Control.Exception.bracket is broken(?)

Niklas Hambüchen mail at nh2.me
Mon Jul 7 00:18:34 UTC 2014


On 06/07/14 14:15, Yuras Shumovich wrote:
> And the related thing. Release action should not use any interruptible
> action. Otherwise async exception can occur while processing other
> exception, so one of them will be suppressed. Is it correct?
> Control.Exception module contains a list of uninterruptible actions (see
> "Interruptible operations" section), and e.g. "hClose" is not there. Is
> "hClose" interruptible or not? If async exception interrupts "hClose",
> the file descriptor will leak. So, should we use uninterruptibleMask in
> release action for "bracket"?

Does anybody know the answer to these questions, especially the first one?


More information about the Haskell-Cafe mailing list