Mercurial > dovecot > core-2.2
changeset 20007:9e641f8027d2
imapc: Prepare for non-mailbox command retrying: Set reconnect_command_count earlier
This probably doesn't fix itself anything yet, but is needed for the
following changes.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 06 Apr 2016 14:12:25 +0300 |
parents | 1a6732782f2a |
children | 5134d2a75add |
files | src/lib-imap-client/imapc-client.c src/lib-imap-client/imapc-connection.c src/lib-imap-client/imapc-connection.h |
diffstat | 3 files changed, 4 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-imap-client/imapc-client.c Wed Apr 06 14:09:13 2016 +0300 +++ b/src/lib-imap-client/imapc-client.c Wed Apr 06 14:12:25 2016 +0300 @@ -303,7 +303,6 @@ if (reply->state == IMAPC_COMMAND_STATE_OK) { /* reopen the mailbox */ box->reopen_callback(box->reopen_context); - imapc_connection_set_reconnected(box->conn); } else { imapc_connection_abort_commands(box->conn, NULL, FALSE); }
--- a/src/lib-imap-client/imapc-connection.c Wed Apr 06 14:09:13 2016 +0300 +++ b/src/lib-imap-client/imapc-connection.c Wed Apr 06 14:12:25 2016 +0300 @@ -1687,6 +1687,10 @@ i_assert(conn->login_callback == NULL); conn->login_callback = login_callback; conn->login_context = login_context; + /* if we get disconnected before we've finished all the pending + commands, don't reconnect */ + conn->reconnect_command_count = array_count(&conn->cmd_wait_list) + + array_count(&conn->cmd_send_queue); imapc_connection_input_reset(conn); @@ -2275,9 +2279,3 @@ cmd->idle = TRUE; imapc_command_send(cmd, "IDLE"); } - -void imapc_connection_set_reconnected(struct imapc_connection *conn) -{ - conn->reconnect_command_count = array_count(&conn->cmd_wait_list) + - array_count(&conn->cmd_send_queue); -}
--- a/src/lib-imap-client/imapc-connection.h Wed Apr 06 14:09:13 2016 +0300 +++ b/src/lib-imap-client/imapc-connection.h Wed Apr 06 14:12:25 2016 +0300 @@ -52,6 +52,5 @@ imapc_connection_get_mailbox(struct imapc_connection *conn); void imapc_connection_idle(struct imapc_connection *conn); -void imapc_connection_set_reconnected(struct imapc_connection *conn); #endif