From: Timo Sirainen Date: Wed, 29 Apr 2020 09:14:57 +0000 (+0300) Subject: login-proxy: Split off proxy_connect_failed() X-Git-Tag: 2.3.13~689 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=95d70b58f73c25712408fa92cc1a67dfcd60782d;p=thirdparty%2Fdovecot%2Fcore.git login-proxy: Split off proxy_connect_failed() The bool return value will be used in a later commit. --- diff --git a/src/login-common/login-proxy.c b/src/login-common/login-proxy.c index f03bb9e70e..9f8dd67922 100644 --- a/src/login-common/login-proxy.c +++ b/src/login-common/login-proxy.c @@ -241,17 +241,23 @@ static bool proxy_try_reconnect(struct login_proxy *proxy) return TRUE; } -static void proxy_wait_connect(struct login_proxy *proxy) +static bool proxy_connect_failed(struct login_proxy *proxy) { bool reconnect; + proxy_fail_connect(proxy); + reconnect = proxy_try_reconnect(proxy); + proxy_log_connect_error(proxy, reconnect); + if (!reconnect) + login_proxy_free(&proxy); + return reconnect; +} + +static void proxy_wait_connect(struct login_proxy *proxy) +{ errno = net_geterror(proxy->server_fd); if (errno != 0) { - proxy_fail_connect(proxy); - reconnect = proxy_try_reconnect(proxy); - proxy_log_connect_error(proxy, reconnect); - if (!reconnect) - login_proxy_free(&proxy); + (void)proxy_connect_failed(proxy); return; } proxy->connected = TRUE;