[Python-Dev] Re: RELEASED Python 2.3.1

Tim Peters tim.one at comcast.net
Sat Sep 27 21:47:05 EDT 2003


[Jeremy Hylton]
> I suppose ZODB is such an expert application.  It has to cope with
> systems that do not provide fsync(), but it provides degraded service
> on such platforms.  It is very important for the database to call
> fsync() when it commits a transaction.

I'm not sure that ZODB *intends* to run on any system w/o fsync anymore.  It
had to before 2.3 because os.fsync() didn't exist on Windows, and ZODB has
to run on Windows.  I implemented os.fysnc() for Windows in 2.3 precisely so
that ZODB would work better on Windows.

More mundanely, as I recall, we were having a specific problem wherein a
backup script wasn't getting the correct size for a ZODB Data.fs file on
Windows, and file.flush()'ing Data.fs didn't help enough -- backup kept
screwing up until FileStorage's

            if fsync is not None: fsync(file.fileno())

actually did something on Windows.




More information about the Python-Dev mailing list