Closing the rpmdb which has active iterators turns the iterators
into zombies that whose locks can only be freed when the process
terminates. Rpm is being a reckless mom...
---
 yum/rpmsack.py |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index 0982a7c..24bb9ce 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -658,6 +658,7 @@ class RPMDBPackageSack(PackageSackBase):
                 po._has_hdr = False
                 del po.hdr
             self._cached_conflicts_data = result.values()
+            del mi
 
             if self.auto_close:
                 self.ts.close()
@@ -1276,6 +1277,7 @@ class RPMDBPackageSack(PackageSackBase):
                     break
             else:
                 ret.append(po)
+        del mi
 
         if self.auto_close:
             self.ts.close()
-- 
1.7.4

_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to