Problem with ksycoca on windows

David Faure 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 mailing list