Commit b37d2b8d authored by Daiki Ueno's avatar Daiki Ueno Committed by Daiki Ueno

secret-backend: Add a way to uncache singleton instance

This is ugly, but necessary to handle instance uncaching in
SecretBackend when the backend instance is gone.
parent 71a19a95
......@@ -122,6 +122,20 @@ backend_get_instance (void)
return instance;
}
void
_secret_backend_uncache_instance (void)
{
SecretBackend *instance = NULL;
G_LOCK (backend_instance);
instance = backend_instance;
backend_instance = NULL;
G_UNLOCK (backend_instance);
if (instance != NULL)
g_object_unref (instance);
}
static GType
backend_get_impl_type (void)
{
......
......@@ -97,6 +97,8 @@ struct _SecretBackendInterface
void _secret_backend_ensure_extension_point
(void);
void _secret_backend_uncache_instance
(void);
void secret_backend_get (SecretBackendFlags flags,
GCancellable *cancellable,
......
......@@ -191,6 +191,8 @@ service_uncache_instance (SecretService *which)
if (watch != 0)
g_bus_unwatch_name (watch);
_secret_backend_uncache_instance ();
return matched;
}
......
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