"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/dict/main.c" between
dovecot-2.3.16.tar.gz and dovecot-2.3.17.tar.gz

About: Dovecot is an IMAP and POP3 server, written with security primarily in mind.

main.c  (dovecot-2.3.16):main.c  (dovecot-2.3.17)
skipping to change at line 20 skipping to change at line 20
#include "env-util.h" #include "env-util.h"
#include "module-dir.h" #include "module-dir.h"
#include "master-service.h" #include "master-service.h"
#include "master-service-settings.h" #include "master-service-settings.h"
#include "sql-api.h" #include "sql-api.h"
#include "dict.h" #include "dict.h"
#include "dict-client.h" #include "dict-client.h"
#include "dict-commands.h" #include "dict-commands.h"
#include "dict-connection.h" #include "dict-connection.h"
#include "dict-settings.h" #include "dict-settings.h"
#include "dict-init-cache.h"
#include "main.h" #include "main.h"
#include <math.h> #include <math.h>
static struct module *modules; static struct module *modules;
static struct timeout *to_proctitle; static struct timeout *to_proctitle;
static bool proctitle_updated; static bool proctitle_updated;
static void static void
add_stats_string(string_t *str, struct stats_dist *stats, const char *name) add_stats_string(string_t *str, struct stats_dist *stats, const char *name)
skipping to change at line 131 skipping to change at line 132
dict_drivers_register_all(); dict_drivers_register_all();
dict_commands_init(); dict_commands_init();
dict_connections_init(); dict_connections_init();
if (dict_settings->verbose_proctitle) if (dict_settings->verbose_proctitle)
dict_proctitle_update(NULL); dict_proctitle_update(NULL);
} }
static void main_deinit(void) static void main_deinit(void)
{ {
/* FIXME: we're not able to do a clean deinit currently without
larger changes. */
lib_exit(0);
timeout_remove(&to_proctitle); timeout_remove(&to_proctitle);
/* wait for all dict operations to finish */
dict_init_cache_wait_all();
/* connections should no longer have any extra refcounts */
dict_connections_destroy_all(); dict_connections_destroy_all();
dict_init_cache_destroy_all();
dict_drivers_unregister_all(); dict_drivers_unregister_all();
dict_commands_deinit(); dict_commands_deinit();
module_dir_unload(&modules); module_dir_unload(&modules);
sql_drivers_deinit(); sql_drivers_deinit();
} }
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
skipping to change at line 171 skipping to change at line 174
i_fatal("Error reading configuration: %s", error); i_fatal("Error reading configuration: %s", error);
master_service_init_log_with_pid(master_service); master_service_init_log_with_pid(master_service);
main_preinit(); main_preinit();
master_service_set_die_callback(master_service, dict_die); master_service_set_die_callback(master_service, dict_die);
main_init(); main_init();
master_service_init_finish(master_service); master_service_init_finish(master_service);
master_service_run(master_service, client_connected); master_service_run(master_service, client_connected);
/* clean up cached dicts */
main_deinit(); main_deinit();
master_service_deinit(&master_service); master_service_deinit(&master_service);
return 0; return 0;
} }
 End of changes. 5 change blocks. 
3 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)