shm: do mlock/zeroing under shmem lock

This commit is contained in:
Alexey Rybalchenko 2020-12-04 12:01:52 +01:00
parent db0937f339
commit f46d446d52

View File

@ -143,7 +143,6 @@ class Manager
} catch(interprocess_exception& bie) { } catch(interprocess_exception& bie) {
LOG(error) << "something went wrong: " << bie.what(); LOG(error) << "something went wrong: " << bie.what();
} }
}
if (mlockSegment) { if (mlockSegment) {
LOG(debug) << "Locking the managed segment memory pages..."; LOG(debug) << "Locking the managed segment memory pages...";
@ -158,9 +157,6 @@ class Manager
LOG(debug) << "Successfully zeroed the managed segment free memory."; LOG(debug) << "Successfully zeroed the managed segment free memory.";
} }
{
boost::interprocess::scoped_lock<boost::interprocess::named_mutex> lock(fShmMtx);
fShmRegions = fManagementSegment.find_or_construct<Uint16RegionInfoHashMap>(unique_instance)(fShmVoidAlloc); fShmRegions = fManagementSegment.find_or_construct<Uint16RegionInfoHashMap>(unique_instance)(fShmVoidAlloc);
fDeviceCounter = fManagementSegment.find<DeviceCounter>(unique_instance).first; fDeviceCounter = fManagementSegment.find<DeviceCounter>(unique_instance).first;