mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 14:36:13 +01:00
giomodule: Print the type of each default GIO module
This is useful for debugging in many situations. It’ll be printed with G_MESSAGES_DEBUG=GLib-GIO or G_MESSAGES_DEBUG=all. Mostly I need it for debugging the default GNetworkMonitor, but it will work for all GIO module implementations. Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
parent
be10f19752
commit
92b3f22ad5
@ -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);
|
||||
else
|
||||
g_debug ("%s: Failed to find default implementation for ‘%s’",
|
||||
G_STRFUNC, extension_point);
|
||||
|
||||
return impl;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user