Details
struct CamelFolderPrivate
struct CamelFolderPrivate {
GStaticRecMutex lock;
GStaticMutex change_lock;
/* must require the 'change_lock' to access this */
gint frozen;
struct _CamelFolderChangeInfo *changed_frozen; /* queues changed events */
gboolean skip_folder_lock;
};
CAMEL_FOLDER_LOCK()
#define CAMEL_FOLDER_LOCK(f, l)
CAMEL_FOLDER_UNLOCK()
#define CAMEL_FOLDER_UNLOCK(f, l)
CAMEL_FOLDER_REC_LOCK()
#define CAMEL_FOLDER_REC_LOCK(f, l)
CAMEL_FOLDER_REC_UNLOCK()
#define CAMEL_FOLDER_REC_UNLOCK(f, l)
struct CamelStorePrivate
struct CamelStorePrivate {
GStaticRecMutex folder_lock; /* for locking folder operations */
};
CAMEL_STORE_LOCK()
#define CAMEL_STORE_LOCK(f, l)
CAMEL_STORE_UNLOCK()
#define CAMEL_STORE_UNLOCK(f, l)
struct CamelTransportPrivate
struct CamelTransportPrivate {
GMutex *send_lock; /* for locking send operations */
};
CAMEL_TRANSPORT_LOCK()
#define CAMEL_TRANSPORT_LOCK(f, l)
CAMEL_TRANSPORT_UNLOCK()
#define CAMEL_TRANSPORT_UNLOCK(f, l)
struct CamelServicePrivate
struct CamelServicePrivate {
GStaticRecMutex connect_lock; /* for locking connection operations */
GStaticMutex connect_op_lock; /* for locking the connection_op */
};
CAMEL_SERVICE_LOCK()
#define CAMEL_SERVICE_LOCK(f, l)
CAMEL_SERVICE_UNLOCK()
#define CAMEL_SERVICE_UNLOCK(f, l)
CAMEL_SERVICE_REC_LOCK()
#define CAMEL_SERVICE_REC_LOCK(f, l)
CAMEL_SERVICE_REC_UNLOCK()
#define CAMEL_SERVICE_REC_UNLOCK(f, l)
CAMEL_SERVICE_REC_TRYLOCK()
#define CAMEL_SERVICE_REC_TRYLOCK(f, l)
struct CamelSessionPrivate
struct CamelSessionPrivate {
GMutex *lock; /* for locking everything basically */
GMutex *thread_lock; /* locking threads */
gint thread_id;
GHashTable *thread_active;
GThreadPool *thread_pool;
GHashTable *thread_msg_op;
GHashTable *junk_headers;
};
CAMEL_SESSION_LOCK()
#define CAMEL_SESSION_LOCK(f, l)
CAMEL_SESSION_UNLOCK()
#define CAMEL_SESSION_UNLOCK(f, l)
struct CamelFolderSummaryPrivate
struct CamelFolderSummaryPrivate {
GHashTable *filter_charset; /* CamelMimeFilterCharset's indexed by source charset */
struct _CamelMimeFilterIndex *filter_index;
struct _CamelMimeFilterBasic *filter_64;
struct _CamelMimeFilterBasic *filter_qp;
struct _CamelMimeFilterBasic *filter_uu;
struct _CamelMimeFilterSave *filter_save;
struct _CamelMimeFilterHTML *filter_html;
struct _CamelStreamFilter *filter_stream;
struct _CamelIndex *index;
GStaticRecMutex summary_lock; /* for the summary hashtable/array */
GStaticRecMutex io_lock; /* load/save lock, for access to saved_count, etc */
GStaticRecMutex filter_lock; /* for accessing any of the filtering/indexing stuff, since we share them */
GStaticRecMutex alloc_lock; /* for setting up and using allocators */
GStaticRecMutex ref_lock; /* for reffing/unreffing messageinfo's ALWAYS obtain before summary_lock */
GHashTable *flag_cache;
gboolean need_preview;
GHashTable *preview_updates;
};
CAMEL_SUMMARY_LOCK()
#define CAMEL_SUMMARY_LOCK(f, l)
CAMEL_SUMMARY_UNLOCK()
#define CAMEL_SUMMARY_UNLOCK(f, l)
struct CamelStoreSummaryPrivate
struct CamelStoreSummaryPrivate {
GMutex *summary_lock; /* for the summary hashtable/array */
GMutex *io_lock; /* load/save lock, for access to saved_count, etc */
GMutex *alloc_lock; /* for setting up and using allocators */
GMutex *ref_lock; /* for reffing/unreffing messageinfo's ALWAYS obtain before summary_lock */
};
CAMEL_STORE_SUMMARY_LOCK()
#define CAMEL_STORE_SUMMARY_LOCK(f, l)
CAMEL_STORE_SUMMARY_UNLOCK()
#define CAMEL_STORE_SUMMARY_UNLOCK(f, l)
struct CamelVeeFolderPrivate
struct CamelVeeFolderPrivate {
gboolean destroyed;
GList *folders; /* lock using subfolder_lock before changing/accessing */
GList *folders_changed; /* for list of folders that have changed between updates */
GMutex *summary_lock; /* for locking vfolder summary */
GMutex *subfolder_lock; /* for locking the subfolder list */
GMutex *changed_lock; /* for locking the folders-changed list */
gint unread_vfolder;
};
CAMEL_VEE_FOLDER_LOCK()
#define CAMEL_VEE_FOLDER_LOCK(f, l)
CAMEL_VEE_FOLDER_UNLOCK()
#define CAMEL_VEE_FOLDER_UNLOCK(f, l)
struct CamelDataWrapperPrivate
struct CamelDataWrapperPrivate {
pthread_mutex_t stream_lock;
};
CAMEL_DATA_WRAPPER_LOCK()
#define CAMEL_DATA_WRAPPER_LOCK(dw, l)
CAMEL_DATA_WRAPPER_UNLOCK()
#define CAMEL_DATA_WRAPPER_UNLOCK(dw, l)
struct CamelCertDBPrivate
struct CamelCertDBPrivate {
GMutex *db_lock; /* for the db hashtable/array */
GMutex *io_lock; /* load/save lock, for access to saved_count, etc */
GMutex *alloc_lock; /* for setting up and using allocators */
GMutex *ref_lock; /* for reffing/unreffing certs */
};
CAMEL_CERTDB_LOCK()
#define CAMEL_CERTDB_LOCK(db, l)
CAMEL_CERTDB_UNLOCK()
#define CAMEL_CERTDB_UNLOCK(db, l)
fsync()
#define fsync(fd) _commit(fd)
EVOLUTION_LOCALEDIR
#define EVOLUTION_LOCALEDIR _camel_get_localedir ()
CAMEL_LIBEXECDIR
#define CAMEL_LIBEXECDIR _camel_get_libexecdir ()
CAMEL_PROVIDERDIR
#define CAMEL_PROVIDERDIR _camel_get_providerdir ()