mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 07:14:10 +08:00
fix: remove potential memory leak from OaMetricSourceImp class
Related-To: NEO-9038 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
ae8494d379
commit
19aba581d4
@@ -361,7 +361,9 @@ void Mock<MetricsLibrary>::setMockedApi(MockMetricsLibraryApi *mockedApi) {
|
||||
|
||||
// Mock class used to communicate with metrics library.
|
||||
metricsLibrary = &metricSource.getMetricsLibrary();
|
||||
metricSource.setMetricsLibrary(*this);
|
||||
auto &actualMetricsLibrary = metricSource.getMetricsLibraryObject();
|
||||
actualMetricsLibrary.release();
|
||||
actualMetricsLibrary.reset(this);
|
||||
|
||||
// Mock metrics library api functions.
|
||||
contextCreateFunction = mockedApi->contextCreate;
|
||||
@@ -394,7 +396,9 @@ void Mock<MetricsLibrary>::setMockedApi(MockMetricsLibraryApi *mockedApi) {
|
||||
} else {
|
||||
|
||||
// Restore an original class used to communicate with metrics library.
|
||||
metricSource.setMetricsLibrary(*metricsLibrary);
|
||||
auto &actualMetricsLibrary = metricSource.getMetricsLibraryObject();
|
||||
actualMetricsLibrary.release();
|
||||
actualMetricsLibrary.reset(metricsLibrary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,9 @@ void Mock<MetricEnumeration>::setMockedApi(MockMetricsDiscoveryApi *mockedApi) {
|
||||
|
||||
// Mock class used to communicate with metrics library.
|
||||
metricEnumeration = &metricSource.getMetricEnumeration();
|
||||
metricSource.setMetricEnumeration(*this);
|
||||
auto &actualMetricEnumeration = metricSource.getMetricEnumerationObject();
|
||||
actualMetricEnumeration.release();
|
||||
actualMetricEnumeration.reset(this);
|
||||
|
||||
// Mock metrics library api functions.
|
||||
openAdapterGroup = mockedApi->OpenAdapterGroup;
|
||||
@@ -53,7 +55,9 @@ void Mock<MetricEnumeration>::setMockedApi(MockMetricsDiscoveryApi *mockedApi) {
|
||||
} else {
|
||||
|
||||
// Restore an original class used to communicate with metrics library.
|
||||
metricSource.setMetricEnumeration(*metricEnumeration);
|
||||
auto &actualMetricEnumeration = metricSource.getMetricEnumerationObject();
|
||||
actualMetricEnumeration.release();
|
||||
actualMetricEnumeration.reset(metricEnumeration);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user