From 140a2de7885a0e0e360125bfc1305da01eb68f6a Mon Sep 17 00:00:00 2001 From: Not Zed Date: Mon, 27 Sep 2004 05:30:11 +0000 Subject: ** See bug #63521. 2004-09-21 Not Zed ** See bug #63521. * camel-movemail.c (camel_movemail): don't clear exception on entry. * camel-folder-search.c (match_words_message): use local exception. * camel-operation.c (camel_operation_cancel_check): soak up all cancellation requests as soon as we get one. (camel_operation_uncancel): soak up all cancellation reqeusts when we uncancel. * camel-uid-cache.c (camel_uid_cache_save): open the file O_TRUNC rather than O_EXCL, otherwise a crash would mean this file never gets updated. (camel_uid_cache_save): block cancellation around writes otherwise we could be interupted from old cancellation. * providers/local/camel-local-folder.c (camel_local_folder_construct): don't clear exception here, just don't pass it to summary load. * providers/pop3/camel-pop3-store.c (pop3_connect): only clear the exception when we received one we handled. * camel-filter-driver.c (close_folder): if exception is already set, don't pass it to folder.sync(). * camel-lock.c (camel_lock_folder): don't clear the exception here, if it came in set its a programming error. * camel-filter-driver.c (camel_filter_driver_filter_message): if the exception is set after evaluating the expression, stop immediately. svn path=/trunk/; revision=27389 --- camel/camel-uid-cache.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'camel/camel-uid-cache.c') diff --git a/camel/camel-uid-cache.c b/camel/camel-uid-cache.c index 2a2a52daeb..f884c11851 100644 --- a/camel/camel-uid-cache.c +++ b/camel/camel-uid-cache.c @@ -153,7 +153,7 @@ camel_uid_cache_save (CamelUIDCache *cache) int fd; filename = g_strdup_printf ("%s~", cache->filename); - if ((fd = open (filename, O_WRONLY | O_CREAT | O_EXCL, 0666)) == -1) { + if ((fd = open (filename, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) { g_free (filename); return FALSE; } @@ -267,7 +267,7 @@ camel_uid_cache_get_new_uids (CamelUIDCache *cache, GPtrArray *uids) new_uids = g_ptr_array_new (); cache->level++; - + for (i = 0; i < uids->len; i++) { struct _uid_state *state; @@ -303,7 +303,7 @@ camel_uid_cache_save_uid (CamelUIDCache *cache, const char *uid) gpointer old_uid; g_return_if_fail (uid != NULL); - + if (g_hash_table_lookup_extended (cache->uids, uid, (void **)&old_uid, (void **)&state)) { state->save = TRUE; state->level = cache->level; @@ -311,7 +311,7 @@ camel_uid_cache_save_uid (CamelUIDCache *cache, const char *uid) state = g_new (struct _uid_state, 1); state->save = TRUE; state->level = cache->level; - + g_hash_table_insert (cache->uids, g_strdup (uid), state); } } -- cgit