[Python-Dev] wait time [was: Ext4 data loss]

R. David Murray rdmurray at bitdance.com
Thu Mar 12 22:14:04 CET 2009


On Thu, 12 Mar 2009 at 17:01, Jim Jewett wrote:
> On 3/12/09, "Martin v. Löwis" <martin at v.loewis.de> wrote:
>>> It is starting to look as though flush (and close?) should take an
>>> optional wait parameter, to indicate how much re-assurance you're
>>> willing to wait for.
>
>> Unfortunately, such a thing would be unimplementable on most of today's
>> operating systems.
>
> What am I missing?

A less confusing name for your proposed parameter :)

Maybe 'reliability'?

> _file=file
> class file(_file): ...
>    def flush(self, wait=0):
>        super().flush(self)
>        if wait < 0.25:
>            return
>        if wait < 0.5 and os.fdatasync:
>            os.fdatasync(self.fileno())
>            return
>        os.fsync(self.fileno())
>        if wait < 0.75:
>            return
>        if os.ffullsync:
>            os.ffullsync(self.fileno())
>
> (To be honest, I'm not even seeing why it couldn't be done in
> Objects/fileobject.c, though I realize extension modules would need to
> go through the python interface to take advantage of it.)


More information about the Python-Dev mailing list