backgroundparser: Ensure jobs are finished on exit

Authored by kfunk on Jul 7 2017, 8:38 AM.

Description

backgroundparser: Ensure jobs are finished on exit

Summary:
Make sure all parse jobs are done *before* potentially starting to unload language plugins.
I think this fixes one cause of bug 379669.

With this patch I also fix an assert which I added earlier today; which
triggers when exiting KDevelop:

Log excerpt:

kdevelop(21550)/kdevplatform.shell:
KDevelop::PluginController::unloadPlugin(442): unloading plugin:
ManPagePlugin(0x606001ae16c0) "Man Pages"
kdevelop(21550)/kdevplatform.documentation:
DocumentationView::showDocumentation(187): showing "CMake Content Page"
kdevelop(21550)/kdevplatform.language:
KDevelop::TypeSystem::ensureFactoryLoaded(64): Factory for this type not
loaded: 18
kdevelop(21550)/default: unknown(0): ASSERT: "false" in file
/home/kfunk/devel/src/kf5/kdevplatform-stable/language/duchain/types/typeregister.cpp,
line 65

CCBUG: 379669

Subscribers: brauch, kdevelop-devel

Differential Revision: https://phabricator.kde.org/D7128

Details

Committed
kfunkAug 7 2017, 7:50 AM
Differential Revision
D7128: backgroundparser: Ensure jobs are finished on exit
Parents
R32:1676e2f8c696: Perf: Don't initialize memory block unnecessarily
Branches
Unknown
Tags
Unknown