Index: tools/telemetry/telemetry/internal/platform/power_monitor/msr_power_monitor.py |
diff --git a/tools/telemetry/telemetry/internal/platform/power_monitor/msr_power_monitor.py b/tools/telemetry/telemetry/internal/platform/power_monitor/msr_power_monitor.py |
index 74dac5ca041dded858e875130e6d0763319b1222..ecc83f5f4e49df84aa36940cd1269a1d7d3eb2a6 100644 |
--- a/tools/telemetry/telemetry/internal/platform/power_monitor/msr_power_monitor.py |
+++ b/tools/telemetry/telemetry/internal/platform/power_monitor/msr_power_monitor.py |
@@ -133,7 +133,12 @@ class MsrPowerMonitorWin(MsrPowerMonitor): |
logging.info('Cannot monitor power: pre-Sandy Bridge CPU.') |
return False |
- return self._CheckMSRs() |
+ msr_return_value = self._CheckMSRs() |
+ # Since _CheckMSRs() starts the MSR server on win platform, we must close |
+ # it after checking to avoid leaking msr server process. |
+ self._backend.CloseMsrServer() |
+ return msr_return_value |
+ |
def StopMonitoringPower(self): |
power_statistics = super(MsrPowerMonitorWin, self).StopMonitoringPower() |