On 3/12/09, "Martin v. Löwis" <mar...@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?

_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.)

-jJ
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to