Fixed one dead loop issue in the autogenlib.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2240 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
zliu3 2007-01-12 08:50:20 +00:00
parent 34dca9d54a
commit e360ea4d73
1 changed files with 24 additions and 15 deletions

View File

@ -174,6 +174,10 @@ public class AutogenLibOrder {
continue;
}
HashSet<ModuleIdentification> consumedBy = libInstanceConsumedBy.get(m);
if (consumedBy.size() == 0) {
continue;
}
consumedBy.remove(n);
if (consumedBy.size() == 0) {
noConsumerList.addLast(m);
@ -200,6 +204,7 @@ public class AutogenLibOrder {
if (consumer.hasConstructor()) {
continue;
}
//
// if there's no constructor in the library instance's consumer,
// remove it from the consumer list
@ -216,6 +221,10 @@ public class AutogenLibOrder {
break;
}
}
if (noConsumerList.size() == 0 && !circularlyConsumed) {
break;
}
}
}