43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#ifndef SHARED_BARRIERS_HPP
|
|
#define SHARED_BARRIERS_HPP
|
|
|
|
#include <boost/interprocess/sync/named_sharable_mutex.hpp>
|
|
#include <boost/interprocess/sync/named_upgradable_mutex.hpp>
|
|
|
|
namespace osrm
|
|
{
|
|
namespace storage
|
|
{
|
|
|
|
struct SharedBarriers
|
|
{
|
|
|
|
SharedBarriers()
|
|
: current_regions_mutex(boost::interprocess::open_or_create, "current_regions"),
|
|
regions_1_mutex(boost::interprocess::open_or_create, "regions_1"),
|
|
regions_2_mutex(boost::interprocess::open_or_create, "regions_2")
|
|
{
|
|
}
|
|
|
|
static void resetCurrentRegions()
|
|
{
|
|
boost::interprocess::named_sharable_mutex::remove("current_regions");
|
|
}
|
|
static void resetRegions1()
|
|
{
|
|
boost::interprocess::named_sharable_mutex::remove("regions_1");
|
|
}
|
|
static void resetRegions2()
|
|
{
|
|
boost::interprocess::named_sharable_mutex::remove("regions_2");
|
|
}
|
|
|
|
boost::interprocess::named_upgradable_mutex current_regions_mutex;
|
|
boost::interprocess::named_sharable_mutex regions_1_mutex;
|
|
boost::interprocess::named_sharable_mutex regions_2_mutex;
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif // SHARED_BARRIERS_HPP
|