Thread-safety issue in cmake support ?

Christoph Cullmann cullmann at absint.de
Mon Jun 7 17:17:20 UTC 2010


On Monday 07 June 2010 18:57:27 Milian Wolff wrote:
> Christoph Cullmann, 07.06.2010:
> > On Monday 07 June 2010 18:34:42 Andreas Pakulat wrote:
> > > > Error occurs either in main thread or in plugin. When in main thread
> > > > it raises from
> > > > a slot execution which it turns call a method using introspection,
> > > > making things difficult to investigate.
> > > > 
> > > > IMHO, a lock in CMakeUtils would be a possible solution.
> > > 
> > > Oh, or we could just drop KConfig usage and use QSettings for the
> > > project files. After all we might have to get rid of kcm-usage for
> > > project-config too. The only thing we'd loose is the ability to read
> > > from two files "at the same time". But then again, maybe its even good
> > > that where stuff is written is more explicit so we can more easily
> > > move things around...
> > 
> > QSettings ist not thread-safe, only reentrant.
> 
> Making the foreground lock look even better :)
I can only second then Andreas, you will kill your multi-threading then 
completly I guess :/

Like the name, the BKL (either big kernel or big kdevelop lock), you will get 
lock contention really fast I guess, didn't you already some profiling work, 
showing that atm the lock contention is high?

I don't know any solution for the locking problems beside the bkl, too, as 
kdevelop just intermixes to much stuff without locking and with the gui, but 
keep in mind: each event, each mouse move, anything will trigger the locking 
of this lock and compete with all your background threads, which compete with 
each other then, too.

Greetings
Christoph

-- 
-------------------------------------- Christoph Cullmann ---------
AbsInt Angewandte Informatik GmbH      Email: cullmann at AbsInt.com
Science Park 1                         Tel:   +49-681-38360-22
66123 Saarbrücken                      Fax:   +49-681-38360-20
GERMANY                                WWW:   http://www.AbsInt.com
--------------------------------------------------------------------
Geschäftsführung: Dr.-Ing. Christian Ferdinand
Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234




More information about the KDevelop-devel mailing list