aboutsummaryrefslogtreecommitdiffstats
path: root/camel
diff options
context:
space:
mode:
Diffstat (limited to 'camel')
-rw-r--r--camel/ChangeLog2
-rw-r--r--camel/camel.c4
-rw-r--r--camel/camel.h3
3 files changed, 5 insertions, 4 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 0b1745b5b9..40d1292802 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -2,6 +2,8 @@
* camel.c (camel_shutdown): Call camel_mime_utils_shutdown() and
camel_operation_shutdown().
+ (camel_init): Don't register camel_shutdown() as an atexit
+ handler.
* camel-operation.c (camel_operation_shutdown): New function.
diff --git a/camel/camel.c b/camel/camel.c
index f370d891d0..a3f4961076 100644
--- a/camel/camel.c
+++ b/camel/camel.c
@@ -43,7 +43,7 @@
static int initialised = FALSE;
-static void
+void
camel_shutdown (void)
{
void camel_operation_shutdown (void);
@@ -123,8 +123,6 @@ camel_init (const char *configdir, gboolean nss_init)
camel_object_unref (certdb);
- g_atexit (camel_shutdown);
-
initialised = TRUE;
return 0;
diff --git a/camel/camel.h b/camel/camel.h
index c61ca932b8..edc1e313b3 100644
--- a/camel/camel.h
+++ b/camel/camel.h
@@ -87,7 +87,8 @@ extern "C" {
#include <camel/camel-url.h>
#include <camel/camel-string-utils.h>
-gint camel_init (const char *certdb_dir, gboolean nss_init);
+int camel_init (const char *certdb_dir, gboolean nss_init);
+void camel_shutdown (void);
#ifdef __cplusplus
}