]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dict-memcached-ascii: Assert-crash if dict ioloop gets any unexpected IOs or timeouts
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 5 May 2021 13:37:52 +0000 (16:37 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 6 May 2021 06:28:50 +0000 (06:28 +0000)
src/lib-dict/dict-memcached-ascii.c

index 96846cabbea3699f816aa3e703f4d9cc688dded0..8253bc994d5beef1b9f352f16fc8a5cd526a834e 100644 (file)
@@ -251,6 +251,7 @@ static void memcached_ascii_conn_input(struct connection *_conn)
 static int memcached_ascii_input_wait(struct memcached_ascii_dict *dict,
                                      const char **error_r)
 {
+       i_assert(io_loop_is_empty(dict->dict.ioloop));
        dict->dict.prev_ioloop = current_ioloop;
        io_loop_set_current(dict->dict.ioloop);
        if (dict->to != NULL)
@@ -264,6 +265,7 @@ static int memcached_ascii_input_wait(struct memcached_ascii_dict *dict,
        if (dict->to != NULL)
                dict->to = io_loop_move_timeout(&dict->to);
        connection_switch_ioloop(&dict->conn.conn);
+       i_assert(io_loop_is_empty(dict->dict.ioloop));
 
        if (dict->conn.conn.fd_in == -1) {
                *error_r = "memcached_ascii: Communication failure";