On Saturday 04 February 2006 01:04, David Faure wrote:
> > There was an another issue: they could cause
crashes on dlunload on
> > certain systems. At least some older FreeBSD
versions were thus
> > afflicted, but I am not sure anyone uses those
particular versions
> > anymore.
>
> I don't think we even call dlunload anymore.
By default we don't. Which is very annoying for testing
plugins, as you have
to restart all the time.
But looking at the KLibLoader source and svn log's output
there are actually
provisions to force a dlclose:
------------------------------------------------------------
------------
r69148 | matz | 2000-10-28 05:05:26 +0200 (Sat, 28 Oct 2000)
| 11 lines
Internal cleanups. Proper ref-counting when
loading/unloading the same library
multiple times. Make sure, you don't create KLibrary objects
yourself. Instead
go through KLibLoader (this was there from the beginning,
but now it's really
required).
It now defaults to _not_ dlclose() libraries. Only those
which export the
symbol __kde_do_unload. (__kde_do_not_unload is still
recognized, as are the
env. vars KDE_NOUNLOAD (disabling dlclose() alltogether) and
KDE_DOUNLOAD
(enabling dlclose() for _all_ libs). This means, that
currently no libraries
are dlcose'ed by default.
------------------------------------------------------------
------------
I wish I knew about the $KDE_DOUNLOAD trick back when I
worked on Kopete :/
--
Martijn
|