]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap-hibernate: Split off imap_move_has_reached_timeout()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 17 Aug 2020 10:53:28 +0000 (13:53 +0300)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Fri, 21 Aug 2020 08:51:13 +0000 (08:51 +0000)
src/imap-hibernate/imap-client.c

index ea4ee1e06ce8021fd8b173e7b0655b593fafc3b9..2e4e499b04ee15f17d41b4122a276a1a1b9f571e 100644 (file)
@@ -212,6 +212,15 @@ imap_client_move_back_read_callback(void *context, const char *line)
        }
 }
 
+static bool imap_move_has_reached_timeout(struct imap_client *client)
+{
+       int max_secs = client->input_pending ?
+               IMAP_CLIENT_MOVE_BACK_WITH_INPUT_TIMEOUT_SECS :
+               IMAP_CLIENT_MOVE_BACK_WITHOUT_INPUT_TIMEOUT_SECS;
+       return client->move_back_start != 0 &&
+               ioloop_time - client->move_back_start > max_secs;
+}
+
 static bool imap_client_try_move_back(struct imap_client *client)
 {
        const struct master_service_settings *master_set;
@@ -242,11 +251,7 @@ static bool imap_client_try_move_back(struct imap_client *client)
                return TRUE;
        }
 
-       int max_secs = client->input_pending ?
-               IMAP_CLIENT_MOVE_BACK_WITH_INPUT_TIMEOUT_SECS :
-               IMAP_CLIENT_MOVE_BACK_WITHOUT_INPUT_TIMEOUT_SECS;
-       if (client->move_back_start != 0 &&
-           ioloop_time - client->move_back_start > max_secs) {
+       if (imap_move_has_reached_timeout(client)) {
                /* we've waited long enough */
                imap_client_destroy(&client, error);
                return TRUE;