1 |
Author: zmedico |
2 |
Date: 2008-10-08 03:27:43 +0000 (Wed, 08 Oct 2008) |
3 |
New Revision: 11655 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
Before returning config instances from Scheduler._allocate_config(), call the |
9 |
config.reset() method to make sure all settings from the previous package get |
10 |
flushed out (such as PORTAGE_LOG_FILE). This fixes a case where |
11 |
PORTAGE_LOG_FILE leaked from the previous package to the clean phase of the |
12 |
next one, resulting in an IOError due to the path being invalid and the parent |
13 |
directory being nonexistent. |
14 |
|
15 |
|
16 |
Modified: main/trunk/pym/_emerge/__init__.py |
17 |
=================================================================== |
18 |
--- main/trunk/pym/_emerge/__init__.py 2008-10-07 20:48:17 UTC (rev 11654) |
19 |
+++ main/trunk/pym/_emerge/__init__.py 2008-10-08 03:27:43 UTC (rev 11655) |
20 |
@@ -9928,6 +9928,10 @@ |
21 |
temp_settings = self._config_pool[root].pop() |
22 |
else: |
23 |
temp_settings = portage.config(clone=self.pkgsettings[root]) |
24 |
+ # Since config.setcpv() isn't guaranteed to call config.reset() due to |
25 |
+ # performance reasons, call it here to make sure all settings from the |
26 |
+ # previous package get flushed out (such as PORTAGE_LOG_FILE). |
27 |
+ temp_settings.reset() |
28 |
return temp_settings |
29 |
|
30 |
def _deallocate_config(self, settings): |