Added ability to disable fsync()

Passed config to LocalStatus and Maildir folders so they can look
up the fsync status
This commit is contained in:
John Goerzen
2008-08-02 14:55:08 -05:00
parent e58cd67401
commit 2b23657db0
5 changed files with 35 additions and 14 deletions

View File

@ -45,8 +45,10 @@ def gettimeseq():
timelock.release()
class MaildirFolder(BaseFolder):
def __init__(self, root, name, sep, repository, accountname):
def __init__(self, root, name, sep, repository, accountname, config):
self.name = name
self.config = config
self.dofsync = config.getdefaultboolean("general", "fsync")
self.root = root
self.sep = sep
self.messagelist = None
@ -183,7 +185,8 @@ class MaildirFolder(BaseFolder):
# Make sure the data hits the disk
file.flush()
os.fsync(file.fileno())
if self.dofsync:
os.fsync(file.fileno())
file.close()
if rtime != None: