diff options
Diffstat (limited to 'src/plugins/docker/dockerdevice.cpp')
-rw-r--r-- | src/plugins/docker/dockerdevice.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index a2696c8ee61..361c09639dc 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -1385,19 +1385,19 @@ DockerDeviceFactory::DockerDeviceFactory() }); setConstructionFunction([this] { auto device = DockerDevice::create(); - QMutexLocker lk(&m_deviceListMutex); - m_existingDevices.push_back(device); + m_existingDevices.writeLocked()->push_back(device); return device; }); } void DockerDeviceFactory::shutdownExistingDevices() { - QMutexLocker lk(&m_deviceListMutex); - for (const auto &weakDevice : m_existingDevices) { - if (std::shared_ptr<DockerDevice> device = weakDevice.lock()) - device->shutdown(); - } + m_existingDevices.read([](const std::vector<std::weak_ptr<DockerDevice>> &devices) { + for (const std::weak_ptr<DockerDevice> &weakDevice : devices) { + if (std::shared_ptr<DockerDevice> device = weakDevice.lock()) + device->shutdown(); + } + }); } expected_str<QPair<Utils::OsType, Utils::OsArch>> DockerDevicePrivate::osTypeAndArch() const |