summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2010-11-27 11:58:13 +0000
committerMarc Espie <espie@cvs.openbsd.org>2010-11-27 11:58:13 +0000
commite35197f73309dc98fa8e783eb1cf5246a62b3a97 (patch)
treee93346304ba2aaa5f7024f286fef986eee705462
parentc84ae830cf8f24e2bd8a2207e66f084e80bd8405 (diff)
avoid infinite loops correctly this time
-rw-r--r--usr.sbin/pkg_add/OpenBSD/Dependencies.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Dependencies.pm b/usr.sbin/pkg_add/OpenBSD/Dependencies.pm
index 0ebcb20d85e..6e77c596408 100644
--- a/usr.sbin/pkg_add/OpenBSD/Dependencies.pm
+++ b/usr.sbin/pkg_add/OpenBSD/Dependencies.pm
@@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
-# $OpenBSD: Dependencies.pm,v 1.136 2010/10/28 16:31:07 espie Exp $
+# $OpenBSD: Dependencies.pm,v 1.137 2010/11/27 11:58:12 espie Exp $
#
# Copyright (c) 2005-2010 Marc Espie <espie@openbsd.org>
#
@@ -356,12 +356,12 @@ sub check_for_loops
while (my $set = shift @todo) {
next unless defined $set->{solver};
-# next if $set->real_set eq $initial->real_set;
for my $l (values %{$set->solver->{deplist}}) {
if ($l eq $initial) {
push(@to_merge, $set);
}
next if $done->{$l};
+ next if $done->{$l->real_set};
push(@todo, $l);
$done->{$l} = $set;
}