A library that seems to have a pretty nice abstraction for this kind of
thing/pattern, could be an idea to use it, or have something similar
like it...

https://boltons.readthedocs.org/en/latest/fileutils.html#atomic-file-saving

-Josh

On Sat, 26 Sep 2015 10:48:39 +0200
Julien Danjou <jul...@danjou.info> wrote:

> On Tue, Sep 22 2015, Chris Friesen wrote:
> 
> > On 09/22/2015 05:48 PM, Joshua Harlow wrote:
> >> A present:
> >>
> >>  >>> import contextlib
> >>  >>> import os
> >>  >>>
> >>  >>> @contextlib.contextmanager
> >> ... def synced_file(path, mode='wb'):
> >> ...   with open(path, mode) as fh:
> >> ...      yield fh
> >> ...      os.fdatasync(fh.fileno())
> >> ...
> >>  >>> with synced_file("/tmp/b.txt") as fh:
> >> ...    fh.write("b")
> >
> > Isn't that missing an "fh.flush()" somewhere before the fdatasync()?
> 
> Unless proven otherwise, close() does a flush().
> 


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to