mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-11 23:16:14 +01:00
Add private _g_bus_get_singleton_if_exists() function
This is used by g_test_dbus_down() to ensure the GDBusConnection gets disposed, but not create one if the singleton already got disposed. https://bugzilla.gnome.org/show_bug.cgi?id=672985
This commit is contained in:
parent
98569e53e3
commit
2e3d50631f
@ -6769,6 +6769,25 @@ get_uninitialized_connection (GBusType bus_type,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* May be called from any thread. Must not hold message_bus_lock. */
|
||||
GDBusConnection *
|
||||
_g_bus_get_singleton_if_exists (GBusType bus_type)
|
||||
{
|
||||
GWeakRef *singleton;
|
||||
GDBusConnection *ret = NULL;
|
||||
|
||||
G_LOCK (message_bus_lock);
|
||||
singleton = message_bus_get_singleton (bus_type, NULL);
|
||||
if (singleton == NULL)
|
||||
goto out;
|
||||
|
||||
ret = g_weak_ref_get (singleton);
|
||||
|
||||
out:
|
||||
G_UNLOCK (message_bus_lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* g_bus_get_sync:
|
||||
* @bus_type: A #GBusType.
|
||||
|
@ -143,6 +143,9 @@ void _g_dbus_object_proxy_add_interface (GDBusObjectProxy *proxy,
|
||||
void _g_dbus_object_proxy_remove_interface (GDBusObjectProxy *proxy,
|
||||
const gchar *interface_name);
|
||||
|
||||
/* Implemented in gdbusconnection.c */
|
||||
GDBusConnection *_g_bus_get_singleton_if_exists (GBusType bus_type);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __G_DBUS_PRIVATE_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user