When we have a failure in mail thread, sleep for a bit.
authorBrenden Matthews <brenden@diddyinc.com>
Thu, 9 Sep 2010 17:53:39 +0000 (10:53 -0700)
committerBrenden Matthews <brenden@diddyinc.com>
Thu, 9 Sep 2010 17:53:39 +0000 (10:53 -0700)
src/mail.c

index 1319644..531e943 100644 (file)
@@ -676,6 +676,7 @@ static void *imap_thread(void *arg)
                        NORM_ERR("Trying IMAP connection again for %s@%s (try %u/%u)",
                                        mail->user, mail->host, fail + 1, mail->retries);
                        resolved_host = 0; /* force us to resolve the hostname again */
+                       sleep(fail); /* sleep more for the more failures we have */
                }
                if (!resolved_host) {
                        memset(&hints, 0, sizeof(struct addrinfo));
@@ -1024,6 +1025,7 @@ static void *pop3_thread(void *arg)
                        NORM_ERR("Trying POP3 connection again for %s@%s (try %u/%u)",
                                        mail->user, mail->host, fail + 1, mail->retries);
                        resolved_host = 0; /* force us to resolve the hostname again */
+                       sleep(fail); /* sleep more for the more failures we have */
                }
                if (!resolved_host) {
                        memset(&hints, 0, sizeof(struct addrinfo));