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