[Kde-pim] Review Request 124603: AgentManager: avoid recursion agentTypeAdded->readAgentTypes->agentTypeAdded

David Faure faure at kde.org
Mon Aug 3 12:40:45 BST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124603/
-----------------------------------------------------------

Review request for KDEPIM-Libraries.


Repository: kdepimlibs


Description
-------

and the same with agent instances.
With 20 instances, this would make the dbus call agentInstances()
20 times, when getting the notification that akonadi is starting up
(so all processes are doing this at the same time, very bad for performance).

New solution: read agent types+instances at startup if Akonadi::Control is online,
otherwise when getting the notification that it is, or when getting the
signal that a type/instance was added. Always emit signals, but of course
when doing this from the constructor nobody is listening (no problem, fast).
The old code was using a different code path to avoid emitting signals for
the initially loaded types+instances, so the behavior is the same.


Diffs
-----

  akonadi/agentmanager.cpp a9ac8a69ab795a6ffadf08ad7208ce70f0d9919b 

Diff: https://git.reviewboard.kde.org/r/124603/diff/


Testing
-------

With debug output above the emit statements, I checked what was emitted before and after the patch, seems to be the same.
Tested the case where the app is up before akonadi is started, and the easier case where akonadi is up before the app.


Thanks,

David Faure

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list