]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dict-redis: Add missing dict_wait()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Jan 2020 14:03:01 +0000 (16:03 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 6 Feb 2020 12:57:05 +0000 (12:57 +0000)
This caused various problems when used in places where dict_wait() was
required, e.g. quota or quota_clone plugins.

src/lib-dict/dict-redis.c

index c5ec3ef71653f0cb2ce0535088991f3c5d037348..c0fd3d14a940f71ad7848326d8bc62861b78eea3 100644 (file)
@@ -476,6 +476,13 @@ static void redis_dict_deinit(struct dict *_dict)
                connection_list_deinit(&redis_connections);
 }
 
+static void redis_dict_wait(struct dict *_dict)
+{
+       struct redis_dict *dict = (struct redis_dict *)_dict;
+
+       redis_wait(dict);
+}
+
 static void redis_dict_lookup_timeout(struct redis_dict *dict)
 {
        const char *reason = t_strdup_printf(
@@ -812,6 +819,7 @@ struct dict dict_driver_redis = {
        {
                .init = redis_dict_init,
                .deinit = redis_dict_deinit,
+               .wait = redis_dict_wait,
                .lookup = redis_dict_lookup,
                .transaction_init = redis_transaction_init,
                .transaction_commit = redis_transaction_commit,