Unloading extensions


The current nautilus-extension specification provides nautilus-extension
unloading (the implementation makes no use of it though). I spoke to
Owen regarding type unloading and stuff. There are exist some problems:

* An extension wich registers types statically must not be unloaded and
loaded again, it will result in a segmentation vialoation. This implies
that unloadable modules must not link against libraries using such types
(and are not loaded by nautilus itself).

* There is no portable way to get notified on module load/unload.

E.g. i have, in nautilus-vcs, to initialize the APR runtime for
subversion. Im not sure if this would work out if it is initialized

Owen asserted that one should not unload modules unless really
necessary. Since nautilus-extensions are prettey persitent during
nautilus sessions i suggest adding a func to the interface callable by
the extension making it persistent. Nautilus would thenn call "
g_module_make_resident ()" on that module. We could also use flags
during initialisation, this would break compatibility though.


Raffaele Sandrini <rasa gmx ch>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]