[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.3/kdebase/workspace/plasma/runners/services
From:       Jacopo De Simoi <wilderkde () gmail ! com>
Date:       2009-09-17 14:57:56
Message-ID: 1253199476.630274.12117.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1024912 by jacopods:

bigLock is gone again; KServiceTrader should be now thread-safe also in branch \
                (thanks pinotree)
CCBUG: 192536


 M  +0 -5      servicerunner.cpp  


--- branches/KDE/4.3/kdebase/workspace/plasma/runners/services/servicerunner.cpp \
#1024911:1024912 @@ -56,10 +56,7 @@
     // if the following is unclear to you.
     QString query = QString("exist Exec and ('%1' =~ Name)").arg(term);
 
-    // KServiceTypeTrader::query() is not thread-safe in 4.3, welcome back bigLock
-    bigLock()->lock();
     KService::List services = KServiceTypeTrader::self()->query("Application", \
                query);
-    bigLock()->unlock();
 
     QList<Plasma::QueryMatch> matches;
 
@@ -90,10 +87,8 @@
     // Note that before asking for the content of e.g. Keywords and GenericName we \
                need to ask if
     // they exist to prevent a tree evaluation error if they are not defined.
     query = QString("exist Exec and ( (exist Keywords and '%1' ~subin Keywords) or \
(exist GenericName and '%1' ~~ GenericName) or (exist Name and '%1' ~~ Name) \
                )").arg(term);
-    bigLock()->lock();
     services = KServiceTypeTrader::self()->query("Application", query);
     services += KServiceTypeTrader::self()->query("KCModule", query);
-    bigLock()->unlock();
 
     //kDebug() << "got " << services.count() << " services from " << query;
     foreach (const KService::Ptr &service, services) {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic