[Haskell-cafe] Taking over maintainership of cautious-file (or does anyone know of an alternative?)
Niklas Hambüchen
mail at nh2.me
Thu Feb 13 16:43:46 UTC 2020
Tangentially, note that `cautious-file` has drawbacks:
* It is not async-exception safe and may leak file descriptors. It uses `handleToFd` without proper exception handling (`bracket`).
* It does not `fsync` the directory in which the file is, meaning that you may still experience data loss on computer crashes.
`unliftio` provides actively maintained versions of most of what `cautious-file` does, addresses those drawbacks and is well-tested against crashes:
https://hackage.haskell.org/package/unliftio-0.2.12/docs/UnliftIO-IO-File.html
For example, `writeBinaryFileDurableAtomic`.
Niklas
More information about the Haskell-Cafe
mailing list