Hello community, here is the log from the commit of package evolution-data-server checked in at Sun May 7 15:55:47 CEST 2006. -------- --- GNOME/evolution-data-server/evolution-data-server.changes 2006-05-01 23:24:39.000000000 +0200 +++ STABLE/evolution-data-server/evolution-data-server.changes 2006-05-02 21:41:54.000000000 +0200 @@ -1,0 +2,5 @@ +Tue May 2 21:40:52 CEST 2006 - fejj@suse.de + +- Added bnc-167638.patch: Fixes long shutdown times due to the imap/gw providers trying to sync data at exit time. + +------------------------------------------------------------------- New: ---- bnc-167638.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evolution-data-server.spec ++++++ --- /var/tmp/diff_new_pack.VnfZW5/_old 2006-05-07 15:55:32.000000000 +0200 +++ /var/tmp/diff_new_pack.VnfZW5/_new 2006-05-07 15:55:32.000000000 +0200 @@ -18,7 +18,7 @@ Autoreqprov: on Summary: Evolution Data Server Version: 1.6.0 -Release: 37 +Release: 40 Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.6/%{name}-%{version}.tar.bz2 #Patch3: evolution-data-server-gcc4.patch Patch5: evolution-data-server-configure.patch @@ -79,6 +79,7 @@ Patch58: imap4-removal.diff Patch59: bgo-321797.patch Patch60: bgo-315976-INBOX-not-shown-when-override-namespace.patch +Patch61: bnc-167638.patch Url: http://www.gnome.org BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: libsoup >= 2.2.6 mozilla-nss @@ -169,6 +170,7 @@ %patch58 %patch59 %patch60 +%patch61 %build rename no nb po/no.* @@ -219,6 +221,8 @@ %{prefix}/share/gtk-doc/html/* %changelog -n evolution-data-server +* Tue May 02 2006 - fejj@suse.de +- Added bnc-167638.patch: Fixes long shutdown times due to the imap/gw providers trying to sync data at exit time. * Mon May 01 2006 - fejj@suse.de - Added bgo-315976-INBOX-not-shown-when-override-namespace.patch * Tue Apr 25 2006 - sragavan@novell.com ++++++ bnc-167638.patch ++++++ Index: camel/camel.c =================================================================== RCS file: /cvs/gnome/evolution-data-server/camel/camel.c,v retrieving revision 1.56 diff -u -r1.56 camel/camel.c --- camel/camel.c 6 Dec 2005 04:21:56 -0000 1.56 +++ camel/camel.c 20 Apr 2006 21:12:40 -0000 @@ -44,6 +44,8 @@ static int initialised = FALSE; +int camel_application_is_exiting = FALSE; + static void camel_shutdown (void) { Index: camel/providers/imap/camel-imap-folder.c =================================================================== RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/camel-imap-folder.c,v retrieving revision 1.358 diff -u -r1.358 camel/camel-imap-folder.c --- camel/providers/imap/camel-imap-folder.c 10 Jan 2006 07:56:47 -0000 1.358 +++ camel/providers/imap/camel-imap-folder.c 20 Apr 2006 21:12:40 -0000 @@ -607,6 +607,7 @@ { CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder); CamelImapStore *store = CAMEL_IMAP_STORE (folder->parent_store); + extern int camel_application_is_exiting; struct { char *uid; guint32 flags; @@ -619,7 +620,10 @@ GArray *removed; gboolean ok; CamelFolderChangeInfo *changes = NULL; - + + if (camel_application_is_exiting) + return; + CAMEL_SERVICE_ASSERT_LOCKED (store, connect_lock); imap_folder->need_rescan = FALSE; @@ -2617,6 +2621,7 @@ GArray *expunged, CamelException *ex) { CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder); + extern int camel_application_is_exiting; CamelFolderChangeInfo *changes; CamelMessageInfo *info; int len; @@ -2646,7 +2651,7 @@ } len = camel_folder_summary_count (folder->summary); - if (exists > len) + if (exists > len && !camel_application_is_exiting) imap_update_summary (folder, exists, changes, ex); if (camel_folder_change_info_changed (changes)) Index: camel/providers/groupwise/camel-groupwise-folder.c =================================================================== RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-folder.c,v retrieving revision 1.130 diff -u -p -r1.130 camel-groupwise-folder.c --- camel/providers/groupwise/camel-groupwise-folder.c 18 Apr 2006 15:15:30 -0000 1.130 +++ camel/providers/groupwise/camel-groupwise-folder.c 21 Apr 2006 11:18:22 -0000 @@ -59,7 +59,7 @@ #define ADD_JUNK_ENTRY 1 #define REMOVE_JUNK_ENTRY -1 #define JUNK_FOLDER "Junk Mail" -#define READ_CURSOR_MAX_IDS 500 +#define READ_CURSOR_MAX_IDS 50 #define MAX_ATTACHMENT_SIZE 1*1024*1024 /*In bytes*/ static CamelOfflineFolderClass *parent_class = NULL; @@ -749,6 +749,9 @@ struct _folder_update_msg { static void update_update (CamelSession *session, CamelSessionThreadMsg *msg) { + + extern int camel_application_is_exiting; + struct _folder_update_msg *m = (struct _folder_update_msg *)msg; EGwConnectionStatus status; CamelException *ex = NULL; @@ -767,7 +770,7 @@ update_update (CamelSession *session, Ca done = FALSE; m->slist = NULL; - while (!done) { + while (!done && !camel_application_is_exiting) { item_list = NULL; status = e_gw_connection_get_all_mail_uids (m->cnc, m->container_id, cursor, FALSE, READ_CURSOR_MAX_IDS, position, &item_list); if (status != E_GW_CONNECTION_STATUS_OK) { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...