]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imapc: Fix re-sending retryable commands after reconnect
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 13 Jan 2017 18:39:42 +0000 (20:39 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 13 Jan 2017 18:39:42 +0000 (20:39 +0200)
src/lib-imap-client/imapc-client.c
src/lib-imap-client/imapc-connection.c
src/lib-imap-client/imapc-connection.h

index 0d9de65c7983249856bafa134003d7a7047be89f..365341f59641d0611d3e8109c64f5d85d31b2b46 100644 (file)
@@ -328,7 +328,7 @@ void imapc_client_mailbox_reconnect(struct imapc_client_mailbox *box)
           loop. */
        box->reconnect_ok = FALSE;
 
-       imapc_connection_disconnect(box->conn);
+       imapc_connection_disconnect_full(box->conn, TRUE);
        imapc_connection_connect(box->conn, imapc_client_reconnect_cb, box);
 }
 
index 7eea9b7d058b341cd120bd3d21df269054309e00..0eb85712738b2efaa9aacdcd7319e6f66d28b8f7 100644 (file)
@@ -376,8 +376,8 @@ imapc_connection_literal_reset(struct imapc_connection_literal *literal)
        literal->fd = -1;
 }
 
-static void imapc_connection_disconnect_full(struct imapc_connection *conn,
-                                            bool reconnecting)
+void imapc_connection_disconnect_full(struct imapc_connection *conn,
+                                     bool reconnecting)
 {
        /* timeout may be set also in disconnected state */
        if (conn->to != NULL)
index b1e324e9d05c84255f0b1851dd47fda6dafc8423..21ffd0af3d7117d5d32d9a7275ba9bdfb48debee 100644 (file)
@@ -33,6 +33,8 @@ void imapc_connection_connect(struct imapc_connection *conn,
                              imapc_command_callback_t *login_callback,
                              void *login_context) ATTR_NULL(2, 3);
 void imapc_connection_disconnect(struct imapc_connection *conn);
+void imapc_connection_disconnect_full(struct imapc_connection *conn,
+                                     bool reconnecting);
 void imapc_connection_abort_commands(struct imapc_connection *conn,
                                     struct imapc_client_mailbox *only_box,
                                     bool keep_retriable) ATTR_NULL(2);