]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-fts: Partially reverted d097a9779c37 - don't use lib_atexit()
authorTimo Sirainen <tss@iki.fi>
Mon, 18 May 2015 11:53:52 +0000 (14:53 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 18 May 2015 11:53:52 +0000 (14:53 +0300)
Because fts is loaded as plugin lib_atexit() is called after the plugin is
already unloaded, so it crashes.

src/lib-fts/fts-filter-normalizer-icu.c

index fa10040b0472be43f123221936a729852c092ff2..e1704ad928813ddf1f342dbbb4cc5573625207ea 100644 (file)
@@ -10,8 +10,6 @@
 #ifdef HAVE_LIBICU
 #include "fts-icu.h"
 
-#include <unicode/uclean.h>
-
 struct fts_filter_normalizer_icu {
        struct fts_filter filter;
        pool_t pool;
@@ -24,8 +22,6 @@ struct fts_filter_normalizer_icu {
        string_t *utf8_token;
 };
 
-static bool icu_exit_callback_set = FALSE;
-
 static void fts_filter_normalizer_icu_destroy(struct fts_filter *filter)
 {
        struct fts_filter_normalizer_icu *np =
@@ -58,11 +54,6 @@ fts_filter_normalizer_icu_create(const struct fts_language *lang ATTR_UNUSED,
                }
        }
 
-       if (!icu_exit_callback_set) {
-               icu_exit_callback_set = TRUE;
-               lib_atexit(u_cleanup);
-       }
-
        pp = pool_alloconly_create(MEMPOOL_GROWING"fts_filter_normalizer_icu",
                                   sizeof(struct fts_filter_normalizer_icu));
        np = p_new(pp, struct fts_filter_normalizer_icu, 1);