[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 43931] "ghost messages" stay in outbox
From: Till Adam <adam () kde ! org>
Date: 2004-05-29 21:38:09
Message-ID: 20040529213809.3785.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=43931
coolo kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|cjb cs utexas edu |
CC|kevinj genaware com |
adam kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From adam kde org 2004-05-29 23:38 -------
CVS commit by tilladam:
Nuke the index of the outbox on startup if the outbox folder is a maildir
folder, to make ghost messages impossible, which result when KMail crashes
after a message has entered and left a folder within five seconds, which
pretty much only happens for the outbox, and the index is therefor less
than 5 seconds out of date, which is the nfs tolerance.
This is a nasty hack of a workaround, but it should fix the symptom.
CCMAIL: 43931-done bugs kde org
M +8 -0 kmkernel.cpp 1.287
--- kdepim/kmail/kmkernel.cpp #1.286:1.287
@ -837,4 +837,12 @ void KMKernel::initFolders(KConfig* cfg)
if ( the_outboxFolder->userWhoField().isEmpty() )
the_outboxFolder->setUserWhoField( QString::null );
+ /* Nuke the oubox's index file, to make sure that no ghost messages are in
+ * it from a previous crash. Ghost messages happen in the outbox because it
+ * the only folder where messages enter and leave within 5 seconds, which is
+ * the leniency period for index invalidation. Since the number of mails in
+ * this folder is expected to be very small, we can live with regenerating
+ * the index on each start to be on the save side. */
+ if ( the_outboxFolder->folderType() == KMFolderTypeMaildir )
+ unlink( QFile::encodeName( the_outboxFolder->indexLocation() ) );
the_outboxFolder->open();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic