summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-09-16 13:02:27 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-09-16 13:02:27 +0000
commit2537ca59833f0d30115b735f6a24255beb5094c8 (patch)
tree525c6c8151a54a11eca1bb624db2ecfa543b50f0
parentdf51e06ff325b7be7bfda704f9d662c103b626c9 (diff)
- Use random sleep interval up to 3 sec. in 'get' action when IMAP conn. fails
git-svn-id: https://svn.roundcube.net/trunk@3970 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/steps/mail/get.inc7
1 files changed, 3 insertions, 4 deletions
diff --git a/roundcubemail/program/steps/mail/get.inc b/roundcubemail/program/steps/mail/get.inc
index 50731e012..5e4414059 100644
--- a/roundcubemail/program/steps/mail/get.inc
+++ b/roundcubemail/program/steps/mail/get.inc
@@ -41,11 +41,10 @@ if (!$RCMAIL->imap_connect()) {
// Some servers have MAXPERIP or other limits.
// To workaround this we'll wait for some time
// and try again (once).
- // Note: When message contains more inline parts and the server limit is low
- // this stil maybe the issue, while we're using the same sleep interval, but
- // I didn't found better solution.
+ // Note: Random sleep interval is used to minimize concurency
+ // in getting message parts
if (!isset($_GET['_redirected'])) {
- sleep(2);
+ usleep(rand(10,30)*100000); // 1-3 sec.
header('Location: ' . $_SERVER['REQUEST_URI'] . '&_redirected=1');
}
else {