diff --git a/level_zero/sysman/source/fabric_port/fabric_port.cpp b/level_zero/sysman/source/fabric_port/fabric_port.cpp index f039da8110..731104aae8 100644 --- a/level_zero/sysman/source/fabric_port/fabric_port.cpp +++ b/level_zero/sysman/source/fabric_port/fabric_port.cpp @@ -23,9 +23,6 @@ FabricPortHandleContext::FabricPortHandleContext(OsSysman *pOsSysman) { FabricPortHandleContext::~FabricPortHandleContext() { UNRECOVERABLE_IF(nullptr == pFabricDevice); - for (FabricPort *pFabricPort : handleList) { - delete pFabricPort; - } handleList.clear(); delete pFabricDevice; pFabricDevice = nullptr; @@ -36,9 +33,9 @@ ze_result_t FabricPortHandleContext::init() { uint32_t numPorts = pFabricDevice->getNumPorts(); for (uint32_t portNum = 0; portNum < numPorts; portNum++) { - FabricPort *pFabricPort = new FabricPortImp(pFabricDevice, portNum); + std::unique_ptr pFabricPort = std::make_unique(pFabricDevice, portNum); UNRECOVERABLE_IF(nullptr == pFabricPort); - handleList.push_back(pFabricPort); + handleList.push_back(std::move(pFabricPort)); } return ZE_RESULT_SUCCESS; } diff --git a/level_zero/sysman/source/fabric_port/fabric_port.h b/level_zero/sysman/source/fabric_port/fabric_port.h index 5a64c3c324..586917f960 100644 --- a/level_zero/sysman/source/fabric_port/fabric_port.h +++ b/level_zero/sysman/source/fabric_port/fabric_port.h @@ -11,6 +11,7 @@ #include "level_zero/api/sysman/zes_handles_struct.h" #include +#include #include #include @@ -54,7 +55,7 @@ struct FabricPortHandleContext : NEO::NonCopyableOrMovableClass { ze_result_t fabricPortGet(uint32_t *pCount, zes_fabric_port_handle_t *phPort); FabricDevice *pFabricDevice = nullptr; - std::vector handleList = {}; + std::vector> handleList = {}; private: std::once_flag initFabricPortOnce; diff --git a/level_zero/sysman/source/fabric_port/fabric_port_imp.cpp b/level_zero/sysman/source/fabric_port/fabric_port_imp.cpp index 8b80986ce3..ae7ec5d4ba 100644 --- a/level_zero/sysman/source/fabric_port/fabric_port_imp.cpp +++ b/level_zero/sysman/source/fabric_port/fabric_port_imp.cpp @@ -73,10 +73,7 @@ FabricPortImp::FabricPortImp(FabricDevice *pFabricDevice, uint32_t portNum) { init(); } -FabricPortImp::~FabricPortImp() { - delete pOsFabricPort; - pOsFabricPort = nullptr; -} +FabricPortImp::~FabricPortImp() = default; } // namespace Sysman } // namespace L0 diff --git a/level_zero/sysman/source/fabric_port/fabric_port_imp.h b/level_zero/sysman/source/fabric_port/fabric_port_imp.h index 507d65c859..b959a91d88 100644 --- a/level_zero/sysman/source/fabric_port/fabric_port_imp.h +++ b/level_zero/sysman/source/fabric_port/fabric_port_imp.h @@ -44,7 +44,7 @@ class FabricPortImp : public FabricPort, NEO::NonCopyableOrMovableClass { protected: void init(); - OsFabricPort *pOsFabricPort = nullptr; + std::unique_ptr pOsFabricPort; }; } // namespace Sysman diff --git a/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp.cpp b/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp.cpp index 9c91b4fc2a..39bbe74bb5 100644 --- a/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp.cpp +++ b/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp.cpp @@ -84,8 +84,8 @@ OsFabricDevice *OsFabricDevice::create(OsSysman *pOsSysman) { return pLinuxFabricDeviceImp; } -OsFabricPort *OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) { - LinuxFabricPortImp *pLinuxFabricPortImp = new LinuxFabricPortImp(pOsFabricDevice, portNum); +std::unique_ptr OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) { + std::unique_ptr pLinuxFabricPortImp = std::make_unique(pOsFabricDevice, portNum); return pLinuxFabricPortImp; } diff --git a/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp_prelim.cpp b/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp_prelim.cpp index 731132a597..8b4583e5c9 100644 --- a/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp_prelim.cpp +++ b/level_zero/sysman/source/fabric_port/linux/os_fabric_port_imp_prelim.cpp @@ -312,8 +312,8 @@ OsFabricDevice *OsFabricDevice::create(OsSysman *pOsSysman) { return pLinuxFabricDeviceImp; } -OsFabricPort *OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) { - LinuxFabricPortImp *pLinuxFabricPortImp = new LinuxFabricPortImp(pOsFabricDevice, portNum); +std::unique_ptr OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) { + std::unique_ptr pLinuxFabricPortImp = std::make_unique(pOsFabricDevice, portNum); return pLinuxFabricPortImp; } diff --git a/level_zero/sysman/source/fabric_port/os_fabric_port.h b/level_zero/sysman/source/fabric_port/os_fabric_port.h index 6ff0e763c5..1690be9abf 100644 --- a/level_zero/sysman/source/fabric_port/os_fabric_port.h +++ b/level_zero/sysman/source/fabric_port/os_fabric_port.h @@ -32,7 +32,7 @@ class OsFabricPort { virtual ze_result_t getThroughput(zes_fabric_port_throughput_t *pThroughput) = 0; virtual ze_result_t getErrorCounters(zes_fabric_port_error_counters_t *pErrors) = 0; - static OsFabricPort *create(OsFabricDevice *pOsFabricDevice, uint32_t portNum); + static std::unique_ptr create(OsFabricDevice *pOsFabricDevice, uint32_t portNum); virtual ~OsFabricPort() = default; }; diff --git a/level_zero/sysman/source/fabric_port/windows/os_fabric_port_imp.cpp b/level_zero/sysman/source/fabric_port/windows/os_fabric_port_imp.cpp index af589ade1a..5271078cb3 100644 --- a/level_zero/sysman/source/fabric_port/windows/os_fabric_port_imp.cpp +++ b/level_zero/sysman/source/fabric_port/windows/os_fabric_port_imp.cpp @@ -67,8 +67,8 @@ OsFabricDevice *OsFabricDevice::create(OsSysman *pOsSysman) { return pWddmFabricDeviceImp; } -OsFabricPort *OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) { - WddmFabricPortImp *pWddmFabricPortImp = new WddmFabricPortImp(pOsFabricDevice, portNum); +std::unique_ptr OsFabricPort::create(OsFabricDevice *pOsFabricDevice, uint32_t portNum) { + std::unique_ptr pWddmFabricPortImp = std::make_unique(pOsFabricDevice, portNum); return pWddmFabricPortImp; } diff --git a/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_sysman_fabric_port_prelim.cpp b/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_sysman_fabric_port_prelim.cpp index cfd17700b9..291cfd45f1 100644 --- a/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_sysman_fabric_port_prelim.cpp +++ b/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_sysman_fabric_port_prelim.cpp @@ -50,9 +50,6 @@ class ZesFabricPortFixture : public SysmanDeviceFixture { device = pSysmanDevice; pFabricPortHandleContext = pSysmanDeviceImp->pFabricPortHandleContext; if (nullptr != pFabricPortHandleContext->pFabricDevice) { - for (L0::Sysman::FabricPort *pFabricPort : pFabricPortHandleContext->handleList) { - delete pFabricPort; - } pFabricPortHandleContext->handleList.clear(); delete pFabricPortHandleContext->pFabricDevice; pFabricPortHandleContext->pFabricDevice = nullptr; @@ -88,9 +85,6 @@ TEST_F(ZesFabricPortFixture, GivenPortCountZeroAndValidHandlePtrWhenCallingZesFa uint32_t count = 0; EXPECT_EQ(ZE_RESULT_SUCCESS, zesDeviceEnumFabricPorts(device, &count, NULL)); if (nullptr != pFabricPortHandleContext->pFabricDevice) { - for (L0::Sysman::FabricPort *pFabricPort : pFabricPortHandleContext->handleList) { - delete pFabricPort; - } pFabricPortHandleContext->handleList.clear(); } diff --git a/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_zes_fabric_port.cpp b/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_zes_fabric_port.cpp index 8d5bf57e89..34b48c1c05 100644 --- a/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_zes_fabric_port.cpp +++ b/level_zero/sysman/test/unit_tests/sources/fabric_port/linux/test_zes_fabric_port.cpp @@ -24,9 +24,6 @@ class ZesFabricPortFixture : public SysmanDeviceFixture { device = pSysmanDevice; L0::Sysman::FabricPortHandleContext *pFabricPortHandleContext = pSysmanDeviceImp->pFabricPortHandleContext; if (nullptr != pFabricPortHandleContext->pFabricDevice) { - for (L0::Sysman::FabricPort *pFabricPort : pFabricPortHandleContext->handleList) { - delete pFabricPort; - } pFabricPortHandleContext->handleList.clear(); delete pFabricPortHandleContext->pFabricDevice; pFabricPortHandleContext->pFabricDevice = nullptr;