aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-store.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-04-10 11:02:33 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-04-10 11:02:33 +0800
commit35cd31644f6a1c44bfa54d12e199ec9e95edab6f (patch)
tree8b1e2dc87bdf5f7729579c57e84376263bc0deea /camel/camel-store.c
parent63a8a94536b64f931b64ac99e83de1f782cfcdf8 (diff)
downloadgsoc2013-evolution-35cd31644f6a1c44bfa54d12e199ec9e95edab6f.tar.gz
gsoc2013-evolution-35cd31644f6a1c44bfa54d12e199ec9e95edab6f.tar.zst
gsoc2013-evolution-35cd31644f6a1c44bfa54d12e199ec9e95edab6f.zip
Make the folder_lock recursive. See bug #22363 for details. Basically,
2002-04-09 Jeffrey Stedfast <fejj@ximian.com> * camel-store.c (camel_store_init): Make the folder_lock recursive. See bug #22363 for details. Basically, get_folder_info() is requesting a diary folder which in turn connects which requests then calls get_folder() but deadlocks because get_folder_info already holds the lock. svn path=/trunk/; revision=16419
Diffstat (limited to 'camel/camel-store.c')
-rw-r--r--camel/camel-store.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/camel/camel-store.c b/camel/camel-store.c
index 52126f3647..d230ef3777 100644
--- a/camel/camel-store.c
+++ b/camel/camel-store.c
@@ -129,8 +129,8 @@ camel_store_init (void *o)
store->priv = g_malloc0 (sizeof (*store->priv));
#ifdef ENABLE_THREADS
- store->priv->folder_lock = g_mutex_new ();
- store->priv->cache_lock = g_mutex_new ();
+ store->priv->folder_lock = e_mutex_new (E_MUTEX_REC);
+ store->priv->cache_lock = e_mutex_new (E_MUTEX_SIMPLE);
#endif
}
@@ -149,8 +149,8 @@ camel_store_finalize (CamelObject *object)
}
#ifdef ENABLE_THREADS
- g_mutex_free (store->priv->folder_lock);
- g_mutex_free (store->priv->cache_lock);
+ e_mutex_destroy (store->priv->folder_lock);
+ e_mutex_destroy (store->priv->cache_lock);
#endif
g_free (store->priv);
}