From: Vsevolod Stakhov Date: Fri, 17 Apr 2015 13:19:32 +0000 (+0100) Subject: Move libraries initialization to a specific routine. X-Git-Tag: 0.9.0~221 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0852facdb91ae18d0fe255e575d8fa0fb7c4864c;p=rspamd.git Move libraries initialization to a specific routine. --- diff --git a/src/libutil/util.c b/src/libutil/util.c index a001e5ed2..05bf4a31e 100644 --- a/src/libutil/util.c +++ b/src/libutil/util.c @@ -2368,3 +2368,44 @@ rspamd_array_free_hard (gpointer p) g_array_free (ar, TRUE); } + + +void +rspamd_init_libs (void) +{ + struct rlimit rlim; + + ottery_init (NULL); + + rspamd_cryptobox_init (); +#ifdef HAVE_SETLOCALE + /* Set locale setting to C locale to avoid problems in future */ + setlocale (LC_ALL, "C"); + setlocale (LC_CTYPE, "C"); + setlocale (LC_MESSAGES, "C"); + setlocale (LC_TIME, "C"); +#endif + +#ifdef HAVE_OPENSSL + ERR_load_crypto_strings (); + + OpenSSL_add_all_algorithms (); + OpenSSL_add_all_digests (); + OpenSSL_add_all_ciphers (); +#endif + g_random_set_seed (ottery_rand_uint32 ()); + + /* Set stack size for pcre */ + getrlimit (RLIMIT_STACK, &rlim); + rlim.rlim_cur = 100 * 1024 * 1024; + setrlimit (RLIMIT_STACK, &rlim); + + rspamd_regexp_library_init (); + + event_init (); +#ifdef GMIME_ENABLE_RFC2047_WORKAROUNDS + g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS); +#else + g_mime_init (0); +#endif +} diff --git a/src/libutil/util.h b/src/libutil/util.h index 2f58c51b6..b3d7f42e0 100644 --- a/src/libutil/util.h +++ b/src/libutil/util.h @@ -455,4 +455,9 @@ void rspamd_ptr_array_free_hard (gpointer p); */ void rspamd_array_free_hard (gpointer p); +/** + * Initialize rspamd libraries + */ +void rspamd_init_libs (void); + #endif diff --git a/src/main.c b/src/main.c index 4488f46a2..2b70106d5 100644 --- a/src/main.c +++ b/src/main.c @@ -1060,46 +1060,6 @@ rspamd_init_main (struct rspamd_main *rspamd) rspamd_main->history = rspamd_roll_history_new (rspamd_main->server_pool); } -static void -rspamd_init_libs (void) -{ - struct rlimit rlim; - - ottery_init (NULL); - - rspamd_cryptobox_init (); -#ifdef HAVE_SETLOCALE - /* Set locale setting to C locale to avoid problems in future */ - setlocale (LC_ALL, "C"); - setlocale (LC_CTYPE, "C"); - setlocale (LC_MESSAGES, "C"); - setlocale (LC_TIME, "C"); -#endif - -#ifdef HAVE_OPENSSL - ERR_load_crypto_strings (); - - OpenSSL_add_all_algorithms (); - OpenSSL_add_all_digests (); - OpenSSL_add_all_ciphers (); -#endif - g_random_set_seed (ottery_rand_uint32 ()); - - /* Set stack size for pcre */ - getrlimit (RLIMIT_STACK, &rlim); - rlim.rlim_cur = 100 * 1024 * 1024; - setrlimit (RLIMIT_STACK, &rlim); - - rspamd_regexp_library_init (); - - event_init (); -#ifdef GMIME_ENABLE_RFC2047_WORKAROUNDS - g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS); -#else - g_mime_init (0); -#endif -} - gint main (gint argc, gchar **argv, gchar **env) { @@ -1197,8 +1157,6 @@ main (gint argc, gchar **argv, gchar **env) exit (EXIT_FAILURE); } - /* Init events to test modules */ - event_init (); res = TRUE; if (!rspamd_init_filters (rspamd_main->cfg, FALSE)) {