]> source.dussan.org Git - rspamd.git/commitdiff
Add library deinit interface
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 Nov 2015 15:22:46 +0000 (15:22 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 Nov 2015 15:22:46 +0000 (15:22 +0000)
src/libutil/util.c
src/libutil/util.h
src/rspamd.c

index 1a70f1b6f676c4d92af1e91304eecb26ef7bada9..d347a3829e3a3793eec5241bc0c7a7ff692973a5 100644 (file)
@@ -1958,6 +1958,18 @@ rspamd_init_libs (void)
        return ctx;
 }
 
+void
+rspamd_deinit_libs (struct rspamd_external_libs_ctx *ctx)
+{
+       if (ctx != NULL) {
+               if (ctx->libmagic) {
+                       magic_close (ctx->libmagic);
+               }
+
+               g_slice_free1 (sizeof (*ctx), ctx);
+       }
+}
+
 guint64
 rspamd_hash_seed (void)
 {
index f2156c60a29ff9b5509f6584dce4fc7f690bdee9..75aa4850add843577b912ca18a54c58020109c10 100644 (file)
@@ -391,6 +391,11 @@ struct rspamd_external_libs_ctx;
  */
 struct rspamd_external_libs_ctx* rspamd_init_libs (void);
 
+/**
+ * Destroy external libraries context
+ */
+void rspamd_deinit_libs (struct rspamd_external_libs_ctx *ctx);
+
 /**
  * Returns some statically initialized random hash seed
  * @return hash seed
index edaa5a52fa416a44ac394950fe28583dc0145dc9..c816b455abb67cd22c2002fccff9194b3c19e570 100644 (file)
@@ -1113,6 +1113,7 @@ main (gint argc, gchar **argv, gchar **env)
        rspamd_symbols_cache_destroy (rspamd_main->cfg->cache);
        rspamd_log_close (rspamd_main->logger);
        rspamd_config_free (rspamd_main->cfg);
+       rspamd_deinit_libs (rspamd_main->cfg->libs_ctx);
        g_free (rspamd_main->cfg);
        g_free (rspamd_main);
        event_base_free (ev_base);