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

List:       kdevelop-bugs
Subject:    [Bug 194337] New: Support unloading language plugins
From:       Andreas Pakulat <apaku () gmx ! de>
Date:       2009-05-27 19:01:09
Message-ID: bug-194337-40295 () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=194337

           Summary: Support unloading language plugins
           Product: kdevplatform
           Version: SVN
          Platform: Unlisted Binaries
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: NOR
         Component: shell
        AssignedTo: kdevelop-bugs@kdevelop.org
        ReportedBy: apaku@gmx.de


Currently the plugin controller never unloads plugins that implement
ILanguageSupport, this is not desirable as those plugins might also implement
other things. This should be changed, but as David indicates below is a
non-trivial task:

I think the main problem is the language controller. It caches languages, and
a lot of information about them. When deleting a language support, the
language support would have to unregister its language from the language
controller and delete it.

But if that was implemented, there would still be a big thread safety issue,
see for example DUChainUtils::standardContextForUrl, which may be called from
within any thread.

Maybe this might be fixed with some additional safety using the duchain lock.

But there is also a general problem with unloading language supports: Language
supports are often requested from within a background thread, and the
background thread can not load the plugin if it isn't loaded yet.

Thus for now, I think it's best to just prevent language-supports from being
unloaded, as that causes pain in several areas.

In long-term, background-threads need to be enabled to load language supports
as well.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

_______________________________________________
KDevelop-bugs mailing list
KDevelop-bugs@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-bugs
[prev in list] [next in list] [prev in thread] [next in thread] 

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