]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dict redis: Fixed dict_lookup() to skip all previous pending replies.
authorTimo Sirainen <tss@iki.fi>
Tue, 21 Aug 2012 07:02:44 +0000 (10:02 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 21 Aug 2012 07:02:44 +0000 (10:02 +0300)
src/lib-dict/dict-redis.c

index 68646abed3ed5045f9a0a00465163612e2526843..a5bb1a1392185f71511b3dba35bb73f20d66f465 100644 (file)
@@ -441,7 +441,9 @@ redis_dict_lookup_real(struct redis_dict *dict, pool_t pool,
 
                        str_truncate(dict->conn.last_reply, 0);
                        redis_input_state_add(dict, REDIS_INPUT_STATE_GET);
-                       io_loop_run(dict->ioloop);
+                       do {
+                               io_loop_run(dict->ioloop);
+                       } while (array_count(&dict->input_states) > 0);
                }
                timeout_remove(&to);
        }