[evolution-data-server] CamelIMAPXServer: Add a mutex to guard selected/pending folders.



commit 012a65c1f2ba6a04769f37f3197377fef1bc01b3
Author: Matthew Barnes <mbarnes redhat com>
Date:   Wed Feb 27 15:33:54 2013 -0500

    CamelIMAPXServer: Add a mutex to guard selected/pending folders.
    
    Technically an ABI break, but only affects evolution-kolab so we'll skip
    the shared object name bump.  Sooner or later all this public crud needs
    to be moved to the CamelIMAPXServerPrivate struct.

 camel/camel-imapx-server.c |    3 +++
 camel/camel-imapx-server.h |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c
index 020f890..3ae652f 100644
--- a/camel/camel-imapx-server.c
+++ b/camel/camel-imapx-server.c
@@ -6940,6 +6940,7 @@ imapx_server_finalize (GObject *object)
        is->done = NULL;
 
        g_rec_mutex_clear (&is->queue_lock);
+       g_mutex_clear (&is->select_lock);
        g_mutex_clear (&is->fetch_mutex);
        g_cond_clear (&is->fetch_cond);
 
@@ -7061,6 +7062,8 @@ camel_imapx_server_init (CamelIMAPXServer *is)
 
        g_rec_mutex_init (&is->queue_lock);
 
+       g_mutex_init (&is->select_lock);
+
        is->state = IMAPX_DISCONNECTED;
 
        is->expunged = NULL;
diff --git a/camel/camel-imapx-server.h b/camel/camel-imapx-server.h
index fbabbbb..f506d48 100644
--- a/camel/camel-imapx-server.h
+++ b/camel/camel-imapx-server.h
@@ -132,9 +132,10 @@ struct _CamelIMAPXServer {
        CamelIMAPXCommandQueue *done;
 
        /* info on currently selected folder */
+       GMutex select_lock;
        CamelFolder *select_folder;
-       CamelFolderChangeInfo *changes;
        CamelFolder *select_pending;
+       CamelFolderChangeInfo *changes;
        guint32 permanentflags;
        guint32 unseen;
        guint64 uidvalidity;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]