On Nov 30, 2012, at 2:53 PM, Jan Rękorajski wrote: > On Fri, 30 Nov 2012, Jeffrey Johnson wrote: > > The real problem that I was afraid to touch to avoid messing things up > is lib/rpmal.c:rpmalAllSatisfiesDepend() which seems to work on global > lists instead of private copies which caused the infinite loop because > it decremented interator in rpmds 'provides' list for a transaction. >
If this is the real problem, then the fix for infinite looping has little to do with namespaces at all. Yes: the iterator loop index on dependency sets is global. Which means that if something decrements the iterator index lower down, then the high level will continuously repeat. Either the low level search has to save/restore loop indexes, or the high level loop needs its own copy. Even better: The rpmdsNext() has never been usefully implemented with an iterator index in private memory. Not hard to fix, just everyone would _PHREAK_ if anything were ever really changed in RPM for some useful/intelligent reason. *shrug* 73 de Jeff _______________________________________________ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en