Problem with ksycoca on windows
faure at kde.org
Fri Feb 15 10:58:23 GMT 2008
On Thursday 14 February 2008, Ralf Habacker wrote:
> Christian Ehrlicher schrieb:
> > Hi,
> > I've a problem on windows - when ksycoca is running / the db is open, I
> > can't execute kbuildsycoca to update the db. The problem is that
> > kbuildsycoca can't overwrite an open file on windows.
> > There're two solutions
> > - let kbuildsycoca create ksyscoca.new and rename the file when db is closed
> > - open the file in a special mode so I can delete it also someone has an
> > open file handle on it. But for this I can't use QFile and I don't know
> > if it really works like it should.
> Appended is a patch which loaded the ksycoca database complete into
> memory and close the file, so that kbuildsycoca can update the file
> without problems.
Ouch. This defeats the whole point of a shared mmap'ed file: every process is going
to load the entire set of desktop files and mimetypes+servicetypes in memory...
The memory consumption will be quite large.
With a very small kde4 installation (not all modules etc.) ksycoca4 is 1.6 MB here.
15 kde processes running (that's a very low estimate) => 24 MB.
Oh well, if there's no other solution....
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
More information about the kde-core-devel