Review Request 124607: KService: detect ksycoca changing on disk without relying on the DBus signal.
David Faure
faure at kde.org
Wed Aug 5 09:10:15 UTC 2015
> On Aug. 5, 2015, 9:08 a.m., Milian Wolff wrote:
> > src/services/kservicegroup.cpp, line 680
> > <https://git.reviewboard.kde.org/r/124607/diff/2/?file=390245#file390245line680>
> >
> > what about putting these calls into `KServiceGroupFactory::self()`? It seems to me that this would reduce the size of this patch considerable and makes sure it always works?
No, this would crash if some code does
Factory1* f1 = Factory1::self();
Factory2* f2 = Factory2::self();
// use f1 and f2 here
and the second call deletes all factories, i.e. f1 is now dangling.
- David
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124607/#review83448
-----------------------------------------------------------
On Aug. 5, 2015, 8:09 a.m., David Faure wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124607/
> -----------------------------------------------------------
>
> (Updated Aug. 5, 2015, 8:09 a.m.)
>
>
> Review request for KDE Frameworks and Vishesh Handa.
>
>
> Repository: kservice
>
>
> Description
> -------
>
> This fixes threads without an event loop (e.g. in krunner) never noticing
> changes in ksycoca.
>
> Done-with: Vishesh Handa
>
>
> Diffs
> -----
>
> autotests/ksycocathreadtest.cpp 0d6ed4b89581fc506ea79c32c1de314637decf3e
> src/services/kmimetypetrader.cpp 655e5de9d272176e06af48a8417ea06e2412b9d8
> src/services/kplugininfo.cpp 56dc0b43036a2a49804ff799360c29c2121dda54
> src/services/kservice.cpp 3639a2875e5dbaefc6511d36d7b7f0fb7697ea74
> src/services/kservicegroup.cpp a2905da347877ccf34677776b63bd0eae518101f
> src/services/kservicetype.cpp 5e71351e5b7a0acef96104d8d14fa5b27817595d
> src/services/kservicetypetrader.cpp 290e44e9161c8db47278543714426fdd3b5a87af
> src/sycoca/ksycoca.h 542029c7c21d495456065e51b485a26509152cd5
> src/sycoca/ksycoca.cpp 32d1689ad9cd01d3a8adb5123a1848278714ca95
> src/sycoca/ksycoca_p.h 393cfcf8f04c369ac9c03712d917c49112771838
>
> Diff: https://git.reviewboard.kde.org/r/124607/diff/
>
>
> Testing
> -------
>
> The improved unittest was failing with threadsWhoSawFakeService() always only 2 out of 5 (the 2 threads with an event loop). Passes now.
>
>
> Thanks,
>
> David Faure
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150805/b7221263/attachment.html>
More information about the Kde-frameworks-devel
mailing list