Problem with ksycoca on windows

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Fri Feb 15 11:03:33 GMT 2008


> Von: David Faure
> 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....
> 
There will be another solution (with Qt4.4 and QSharedMemory) when qt-copy compiles fine on windows with our emerge scripts (not tested/verified yet).  For now I would like to have this patch in ksycoca (maybe with a TODO or something similar)


Christian

-- 
Psst! Geheimtipp: Online Games kostenlos spielen bei den GMX Free Games! 
http://games.entertainment.web.de/de/entertainment/games/free




More information about the kde-core-devel mailing list