[prev in list] [next in list] [prev in thread] [next in thread] 

List:       spambayes-dev
Subject:    [spambayes-dev] A new and altogether different bsddb breakage
From:       tim.one () comcast ! net (Tim Peters)
Date:       2003-12-25 17:10:29
Message-ID: LNBBLJKPBEHFEDALKOLCOEEPIAAB.tim.one () comcast ! net
[Download RAW message or body]

[Kenny Pitt]
> ...
> I suspect some timing issue with the Windows disk cache not
> immediately flushing stuff to disk.  That's just idle speculation, of
> course, but I have seen similar things in other development projects.

It's true that doing fileobject.flush() on Windows doesn't make any
guarantee about writing anything to disk.  Python 2.3 grew an os.fsync
implementation for Windows, and os.fsync(fileobject.fileno()) does write to
disk on Windows (and sometimes takes a veeeeery long time to do so!).  That
calls the MS C _commit() function under the covers, which in turn calls the
Win32 FlushFileBuffers().

> ...
> I can't think of a good reason that we should need to close and then
> immediately reopen the same database.

Me neither, but I bet we can find a way if we need to.  In particular, you
pointed to Sleepycat docs before containing cautions about how things need
to be set up under Windows, and I'm almost certain the test suite doesn't do
that.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic