[PATCH] make folder pokes cancellable



Hello,

   Attached is the last patch from the series of patches from Rob Taylor.
   From the original list, 4 are unused now. These are new-observer-behaviour.patch, make-send-queue-depend-on-folder-store, add-tny-camel-store-account-stop, and fix-iter-store-refcount.patch.

Regards,

--
Martin
Index: libtinymail-camel/tny-camel-folder.c
===================================================================
--- libtinymail-camel/tny-camel-folder.c	(révision 3792)
+++ libtinymail-camel/tny-camel-folder.c	(copie de travail)
@@ -5836,6 +5836,7 @@
 	gint unread;
 	gint total;
 	gboolean do_status;
+	gboolean cancelled;
 	TnySessionCamel *session;
 } PokeStatusInfo;
 
@@ -5847,6 +5848,9 @@
 	TnyFolderChange *change = NULL;
 	TnyCamelFolderPriv *priv = TNY_CAMEL_FOLDER_GET_PRIVATE (self);
 
+	if (info->cancelled)
+		return FALSE;
+
 	if (info->total != -1) {
 		priv->cached_length = (guint) info->total;
 		if (!change)
@@ -5954,14 +5958,16 @@
 		}
 	}
 
-	_tny_camel_queue_launch (TNY_FOLDER_PRIV_GET_QUEUE (priv), 
+	_tny_camel_queue_launch_wflags (TNY_FOLDER_PRIV_GET_QUEUE (priv), 
 		tny_camel_folder_poke_status_thread, 
 		tny_camel_folder_poke_status_callback, 
 		tny_camel_folder_poke_status_destroyer, 
 		tny_camel_folder_poke_status_callback, 
 		tny_camel_folder_poke_status_destroyer, 
-		NULL, 
+		&info->cancelled,
 		info, sizeof (PokeStatusInfo),
+		TNY_CAMEL_QUEUE_AUTO_CANCELLABLE_ITEM|
+		TNY_CAMEL_QUEUE_CANCELLABLE_ITEM,
 		__FUNCTION__);
 
 	return;
Index: ChangeLog
===================================================================
--- ChangeLog	(révision 3792)
+++ ChangeLog	(copie de travail)
@@ -1,3 +1,7 @@
+2008-10-29  Rob Taylor  <rob taylor codethink co uk>
+
+	* Make folder pokes cancelable
+
 2008-10-29  Jose Dapena Paz  <jdapena igalia com>
 
 	* libtininymail-camel/tny-camel-bs-msg.[ch]:


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