#include "dict-settings.h"
#include "dict-commands.h"
#include "dict-connection.h"
+#include "dict-init-cache.h"
#include <unistd.h>
i_zero(&dict_set);
dict_set.base_dir = dict_settings->base_dir;
dict_set.event_parent = conn->conn.event;
- if (dict_init(uri, &dict_set, &conn->dict, &error) < 0) {
+ if (dict_init_cache_get(conn->name, uri, &dict_set, &conn->dict, &error) < 0) {
/* dictionary initialization failed */
e_error(conn->conn.event, "Failed to initialize dictionary '%s': %s",
conn->name, error);
}
if (conn->dict != NULL)
- dict_deinit(&conn->dict);
+ dict_init_cache_unref(&conn->dict);
if (array_is_created(&conn->transactions))
array_free(&conn->transactions);
#include "dict-commands.h"
#include "dict-connection.h"
#include "dict-settings.h"
+#include "dict-init-cache.h"
#include "main.h"
#include <math.h>
master_service_init_finish(master_service);
master_service_run(master_service, client_connected);
+ /* clean up cached dicts */
+ dict_init_cache_destroy_all();
main_deinit();
master_service_deinit(&master_service);
return 0;