struct _GDelayedSettingsBackendPrivate
{
GSettingsBackend *backend;
- GStaticMutex lock;
+ GMutex lock;
GTree *delayed;
GMainContext *owner_context;
GMainContext *target_context;
GObject *target;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
if (delayed->priv->owner)
{
target_context = delayed->priv->owner_context;
target_context = NULL;
target = NULL;
}
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
if (target != NULL)
g_main_context_invoke (target_context, invoke_notify_unapplied, target);
if (!default_value)
{
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
if (g_tree_lookup_extended (delayed->priv->delayed, key, NULL, &result))
{
/* NULL in the tree means we should consult the default value */
else
default_value = TRUE;
}
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
}
if (result == NULL)
GDelayedSettingsBackend *delayed = G_DELAYED_SETTINGS_BACKEND (backend);
gboolean was_empty;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
was_empty = g_tree_nnodes (delayed->priv->delayed) == 0;
g_tree_insert (delayed->priv->delayed, g_strdup (key),
g_variant_ref_sink (value));
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
g_settings_backend_changed (backend, key, origin_tag);
GDelayedSettingsBackend *delayed = G_DELAYED_SETTINGS_BACKEND (backend);
gboolean was_empty;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
was_empty = g_tree_nnodes (delayed->priv->delayed) == 0;
g_tree_foreach (tree, add_to_tree, delayed->priv->delayed);
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
g_settings_backend_changed_tree (backend, tree, origin_tag);
GDelayedSettingsBackend *delayed = G_DELAYED_SETTINGS_BACKEND (backend);
gboolean was_empty;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
was_empty = g_tree_nnodes (delayed->priv->delayed) == 0;
g_tree_insert (delayed->priv->delayed, g_strdup (key), NULL);
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
if (was_empty)
g_delayed_settings_backend_notify_unapplied (delayed);
gboolean success;
GTree *tmp;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
tmp = delayed->priv->delayed;
delayed->priv->delayed = g_settings_backend_create_tree ();
success = g_settings_backend_write_tree (delayed->priv->backend,
tmp, delayed->priv);
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
if (!success)
g_settings_backend_changed_tree (G_SETTINGS_BACKEND (delayed),
{
GTree *tmp;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
tmp = delayed->priv->delayed;
delayed->priv->delayed = g_settings_backend_create_tree ();
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
g_settings_backend_changed_tree (G_SETTINGS_BACKEND (delayed), tmp, NULL);
g_tree_unref (tmp);
GDelayedSettingsBackend *delayed = G_DELAYED_SETTINGS_BACKEND (target);
gboolean last_one = FALSE;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
if (g_tree_lookup (delayed->priv->delayed, key) != NULL &&
!g_settings_backend_get_writable (delayed->priv->backend, key))
last_one = g_tree_nnodes (delayed->priv->delayed) == 0;
}
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
if (last_one)
g_delayed_settings_backend_notify_unapplied (delayed);
gboolean last_one = FALSE;
gsize n_keys;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
n_keys = g_tree_nnodes (delayed->priv->delayed);
last_one = g_tree_nnodes (delayed->priv->delayed) == 0;
}
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
if (last_one)
g_delayed_settings_backend_notify_unapplied (delayed);
{
GDelayedSettingsBackend *delayed = G_DELAYED_SETTINGS_BACKEND (object);
- g_static_mutex_free (&delayed->priv->lock);
+ g_mutex_clear (&delayed->priv->lock);
g_object_unref (delayed->priv->backend);
g_tree_unref (delayed->priv->delayed);
GDelayedSettingsBackendPrivate);
delayed->priv->delayed = g_settings_backend_create_tree ();
- g_static_mutex_init (&delayed->priv->lock);
+ g_mutex_init (&delayed->priv->lock);
}
static void
{
GDelayedSettingsBackend *delayed = data;
- g_static_mutex_lock (&delayed->priv->lock);
+ g_mutex_lock (&delayed->priv->lock);
delayed->priv->owner_context = NULL;
delayed->priv->owner = NULL;
- g_static_mutex_unlock (&delayed->priv->lock);
+ g_mutex_unlock (&delayed->priv->lock);
}
GDelayedSettingsBackend *
struct _GSettingsBackendPrivate
{
GSettingsBackendWatch *watches;
- GStaticMutex lock;
+ GMutex lock;
};
/* For g_settings_backend_sync_default(), we only want to actually do
GSettingsBackendWatch **ptr;
/* search and remove */
- g_static_mutex_lock (&backend->priv->lock);
+ g_mutex_lock (&backend->priv->lock);
for (ptr = &backend->priv->watches; *ptr; ptr = &(*ptr)->next)
if ((*ptr)->target == where_the_object_was)
{
*ptr = tmp->next;
g_slice_free (GSettingsBackendWatch, tmp);
- g_static_mutex_unlock (&backend->priv->lock);
+ g_mutex_unlock (&backend->priv->lock);
return;
}
g_object_weak_ref (target, g_settings_backend_watch_weak_notify, backend);
/* linked list prepend */
- g_static_mutex_lock (&backend->priv->lock);
+ g_mutex_lock (&backend->priv->lock);
watch->next = backend->priv->watches;
backend->priv->watches = watch;
- g_static_mutex_unlock (&backend->priv->lock);
+ g_mutex_unlock (&backend->priv->lock);
}
void
* count dropping -- so just add a reference to everything in the
* suffix.
*/
- g_static_mutex_lock (&backend->priv->lock);
+ g_mutex_lock (&backend->priv->lock);
suffix = backend->priv->watches;
for (watch = suffix; watch; watch = watch->next)
g_object_ref (watch->target);
- g_static_mutex_unlock (&backend->priv->lock);
+ g_mutex_unlock (&backend->priv->lock);
/* The suffix is now immutable, so this is safe. */
for (watch = suffix; watch; watch = next)
{
GSettingsBackend *backend = G_SETTINGS_BACKEND (object);
- g_static_mutex_unlock (&backend->priv->lock);
+ g_mutex_clear (&backend->priv->lock);
G_OBJECT_CLASS (g_settings_backend_parent_class)
->finalize (object);
backend->priv = G_TYPE_INSTANCE_GET_PRIVATE (backend,
G_TYPE_SETTINGS_BACKEND,
GSettingsBackendPrivate);
- g_static_mutex_init (&backend->priv->lock);
+ g_mutex_init (&backend->priv->lock);
}
static void