Commit 92b3f22a authored by Philip Withnall's avatar Philip Withnall

giomodule: Print the type of each default GIO module

This is useful for debugging in many situations. It’ll be printed with

Mostly I need it for debugging the default GNetworkMonitor, but it will
work for all GIO module implementations.
Signed-off-by: Philip Withnall's avatarPhilip Withnall <>
parent be10f197
......@@ -885,6 +885,8 @@ _g_io_module_get_default (const gchar *extension_point,
if (g_hash_table_lookup_extended (default_modules, extension_point,
&key, &impl))
/* Don’t debug here, since we’re returning a cached object which was
* already printed earlier. */
g_rec_mutex_unlock (&default_modules_lock);
return impl;
......@@ -899,6 +901,8 @@ _g_io_module_get_default (const gchar *extension_point,
if (!ep)
g_debug ("%s: Failed to find extension point ‘%s’",
G_STRFUNC, extension_point);
g_warn_if_reached ();
g_rec_mutex_unlock (&default_modules_lock);
return NULL;
......@@ -911,6 +915,7 @@ _g_io_module_get_default (const gchar *extension_point,
if (preferred)
impl = try_implementation (extension_point, preferred, verify_func);
extension = preferred;
if (impl)
goto done;
......@@ -939,6 +944,14 @@ _g_io_module_get_default (const gchar *extension_point,
impl ? g_object_ref (impl) : NULL);
g_rec_mutex_unlock (&default_modules_lock);
if (impl != NULL)
g_debug ("%s: Found default implementation %s (%s) for ‘%s’",
G_STRFUNC, g_io_extension_get_name (extension),
G_OBJECT_TYPE_NAME (impl), extension_point);
g_debug ("%s: Failed to find default implementation for ‘%s’",
G_STRFUNC, extension_point);
return impl;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment