summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2002-07-22 14:23:24 +0000
committerFrancois Pons <fpons@mandriva.com>2002-07-22 14:23:24 +0000
commit9656115fcb9760586ccd53bdd9cf354a378c62de (patch)
tree1fa365c856a9d8dfcb9ff6dbe3d4135a7e4d561c
parenta0291046a3bcad969b29c621a9a4c221ee52907e (diff)
downloaddrakx-9656115fcb9760586ccd53bdd9cf354a378c62de.tar
drakx-9656115fcb9760586ccd53bdd9cf354a378c62de.tar.gz
drakx-9656115fcb9760586ccd53bdd9cf354a378c62de.tar.bz2
drakx-9656115fcb9760586ccd53bdd9cf354a378c62de.tar.xz
drakx-9656115fcb9760586ccd53bdd9cf354a378c62de.zip
try avoiding infinite loop.
-rw-r--r--perl-install/pkgs.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 21877e2d3..3a86713f4 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -817,7 +817,15 @@ sub installTransactionClosure {
#- search first usable medium (sorted by medium ordering).
foreach (sort { $a->{start} <=> $b->{start} } values %{$packages->{mediums}}) {
- $_->{selected} or next;
+ unless ($_->{selected}) {
+ #- this medium is not selected, but we have to make sure no package are left
+ #- in $id2pkg.
+ foreach ($_->{start} .. $_->{end}) {
+ delete $id2pkg->{$_};
+ }
+ #- anyway, examine the next one.
+ next;
+ }
if ($l[0] <= $_->{end}) {
#- we have a candidate medium, it could be the right one containing
#- the first package of @l...