diff --git a/libraries/entropy/spm/plugins/interfaces/portage_plugin/__init__.py b/libraries/entropy/spm/plugins/interfaces/portage_plugin/__init__.py index d45216dfd..c291e56e5 100644 --- a/libraries/entropy/spm/plugins/interfaces/portage_plugin/__init__.py +++ b/libraries/entropy/spm/plugins/interfaces/portage_plugin/__init__.py @@ -1489,12 +1489,13 @@ class PortagePlugin(SpmPlugin): rc = 0 for filename in paths: + proc = subprocess.Popen(qfile_args + (filename,), stdout = subprocess.PIPE) rc = proc.wait() - proc.stdout.close() if rc != 0: # wtf?, fallback to old way + proc.stdout.close() matches.clear() break @@ -1504,6 +1505,8 @@ class PortagePlugin(SpmPlugin): obj = matches.setdefault((pkg, slot,), set()) obj.add(filename) + proc.stdout.close() + if rc == 0: return matches