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

List:       kde-kimageshop
Subject:    Re: plugin system
From:       Matthias Elter <me () main-echo ! net>
Date:       1999-08-31 16:38:13
[Download RAW message or body]

On Tue, 31 Aug 1999, Bavo De Ridder wrote:
> On Tue, 31 Aug 1999, Matthias Elter wrote:
> 
> >Use the portable ltdl code (see kdecore) to dlopen the plugin libs. The libs
> 
> Thanks for the hint of ltdl, I needed that for my KTL. I am currently working
> on a more dynamic version in which different threading implementations can be
> loaded at program startup.
> 
> >are dlopened two times by the plugin manager: On startup to resolve a symbol 
> >"PluginInfo* getPluginInfo()" used to collect plugin info for the database and
> >on plugin invokation.  Plugin invokation "void run()" is wrapped into "void
> >init(PluginInterface*)"  and "void cleanup()" calls on dlopen/dlclose to hand
> >the PluginInterface over and to make sure the plugins have a chance to clean up
> >used resources. The plugins run in seperate threads using Bavo de Ridder's KTL.
> >The plugin manager simply queries a system wide and a local plugin dir and
> >decides based on the file date wether it has to update the plugin database.
> >
> >+ portable
> >+ fast
> >+ I have working code for this approach.
> >+ We can optionally grant direct access to canvas data structures to avoid data
> >transfers.
> >+ Plugin writers are not scared away by KOM.
> >- A shared lib fooling around with canvas data can easily crash KIS.
> 
> It this happens than the access interface was not well written. A good
> interface should make it impossible for a plugin to crash the application.
> However, the plugin runs in the same address-space as kimageshop, so a division
> by zero in the plugin will also bring down kimageshop (or a segfault, ....).

Yes thats the problem, but on the other hand:
- The "official" KIS package will include only stable plugins tested by us.
- A user probably wont blame _us_  for alpha quality plugin x he found
on page y crashing his KIS.

--
Matthias Elter
me@kde.org / me@main-echo.net
KDE developer

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

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