From 5a9173f1b76a95314e421eb5d0d2da805af8c311 Mon Sep 17 00:00:00 2001 From: Iain Holmes Date: Sat, 13 Oct 2001 00:26:34 +0000 Subject: Fix race conditions in creating folders svn path=/trunk/; revision=13645 --- mail/ChangeLog | 7 +++++++ mail/importers/evolution-mbox-importer.c | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index a1e053202d..5ac7fbdbda 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2001-10-12 Iain Holmes + + * importers/evolution-mbox-importer.c (load_file_fn): Don't ever create + the folder here. Wait until the shell has created it. Otherwise we get + loads of race conditions where the mailer can create a subfolder before + the shell has registered the parent. + 2001-10-12 Chris Toshok * main.c (main): call e_passwords_init and e_passwords_shutdown. diff --git a/mail/importers/evolution-mbox-importer.c b/mail/importers/evolution-mbox-importer.c index 9cdf6fa732..74bef6091f 100644 --- a/mail/importers/evolution-mbox-importer.c +++ b/mail/importers/evolution-mbox-importer.c @@ -205,7 +205,6 @@ folder_created_cb (BonoboListener *listener, ex = camel_exception_new (); importer->folder = mail_tool_uri_to_folder (fullpath, CAMEL_STORE_FOLDER_CREATE, ex); - if (camel_exception_is_set (ex)) { g_warning ("Error opening %s", fullpath); camel_exception_free (ex); @@ -214,6 +213,9 @@ folder_created_cb (BonoboListener *listener, return; } + camel_importer_freeze (importer->folder); + importer->frozen = TRUE; + g_free (fullpath); bonobo_object_unref (BONOBO_OBJECT (listener)); } @@ -291,7 +293,8 @@ load_file_fn (EvolutionImporter *eimporter, mail_importer_create_folder (parent, name, NULL, listener); camel_exception_free (ex); ex = camel_exception_new (); - importer->folder = mail_tool_uri_to_folder (fullpath, CAMEL_STORE_FOLDER_CREATE, ex); + importer->folder = NULL; + g_print ("No folder yet\n"); delayed = TRUE; g_free (parent); } -- cgit