diff options
author | Ryan Lortie <desrt@desrt.ca> | 2013-02-07 13:50:16 -0500 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2013-02-07 14:15:45 -0500 |
commit | 72df62600d1ab473125b6e8beb998e71aa63701e (patch) | |
tree | 91268992f4ffc11a2c9c0069ac3a5fb08a9bb5d9 /gobject | |
parent | 2f61a877d8e8e1311d905ab374e421ed0f37c3b7 (diff) | |
download | glib-72df62600d1ab473125b6e8beb998e71aa63701e.tar.gz glib-72df62600d1ab473125b6e8beb998e71aa63701e.tar.bz2 glib-72df62600d1ab473125b6e8beb998e71aa63701e.zip |
disable support for unloading of dynamic types
Experimentally disable the ability to unload dynamic types by refusing
to drop the last reference on types (effectively turning the type
unloading into dead code).
The plan is to leave things like this for a stable cycle and only
proceed with removing the code if we are sure that there are no
unforeseen problems.
https://bugzilla.gnome.org/show_bug.cgi?id=693351
Diffstat (limited to 'gobject')
-rw-r--r-- | gobject/gtype.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gobject/gtype.c b/gobject/gtype.c index 6df810c14..a82144251 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -2440,6 +2440,14 @@ type_data_unref_U (TypeNode *node, NODE_NAME (node)); return; } + else + { + /* This is the last reference of a type from a plugin. We are + * experimentally disabling support for unloading type + * plugins, so don't allow the last ref to drop. + */ + return; + } g_assert (current > 0); |