DiffSK/configobj

Make write atomic

ctoth opened this issue · 1 comments

ctoth commented

Currently if you call write, it directly calls write on the underlying file object.
If then the power fails or the process crashes the file is left in a garbage state.
I recommend writing to a temporary file, then using rename as this is the accepted practice for atomic writes.

Alternatively you could depend on https://github.com/untitaker/python-atomicwrites

Let me know which approach you prefer and I will open a PR implementing it.

Thanks for offering to make a PR for this, though clearly this is 4 years late. I don't feel up to this being in 5.1.0, but seems like a good idea.

If this comes back around, I'd prefer the temp file appraoch.