diff --git a/config/rootfiles/updater/filelists/core18 b/config/rootfiles/updater/filelists/core18 index 8408c3cf0..6b9302fdc 100644 --- a/config/rootfiles/updater/filelists/core18 +++ b/config/rootfiles/updater/filelists/core18 @@ -1,4 +1,5 @@ opt/pakfire/db/core/mine +opt/pakfire/lib/functions.pl etc/mkinitcpio.conf etc/init.d/mISDN etc/modprobe.d/blacklist diff --git a/src/pakfire/lib/functions.pl b/src/pakfire/lib/functions.pl index 650976281..491c4b076 100644 --- a/src/pakfire/lib/functions.pl +++ b/src/pakfire/lib/functions.pl @@ -311,6 +311,7 @@ sub selectmirror { # This will never give up. my $found = 0; my $servers = 0; + my $pingdelay = 1; while ($found == 0) { $server = int(rand($scount) + 1); $servers = 0; @@ -327,6 +328,13 @@ sub selectmirror { $found = 1; return ($proto, $host, $path); } + if ($found == 0) { + sleep($pingdelay); + $pingdelay=$pingdelay*2; + if ($pingdelay>1200) { + $pingdelay=1200; + } + } } } }