|
|
@@ -26,18 +26,19 @@ struct ServerReady
|
|
|
struct SharedMem
|
|
|
{
|
|
|
boost::interprocess::shared_memory_object smo;
|
|
|
- boost::interprocess::mapped_region mr;
|
|
|
+ boost::interprocess::mapped_region *mr;
|
|
|
ServerReady *sr;
|
|
|
|
|
|
SharedMem()
|
|
|
- :smo(boost::interprocess::open_or_create,"vcmi_memory",boost::interprocess::read_write),
|
|
|
- mr(smo,boost::interprocess::read_write)
|
|
|
+ :smo(boost::interprocess::open_or_create,"vcmi_memory",boost::interprocess::read_write)
|
|
|
{
|
|
|
smo.truncate(sizeof(ServerReady));
|
|
|
- sr = new(mr.get_address())ServerReady();
|
|
|
+ mr = new boost::interprocess::mapped_region(smo,boost::interprocess::read_write);
|
|
|
+ sr = new(mr->get_address())ServerReady();
|
|
|
};
|
|
|
~SharedMem()
|
|
|
{
|
|
|
+ delete mr;
|
|
|
boost::interprocess::shared_memory_object::remove("vcmi_memory");
|
|
|
}
|
|
|
};
|