StatCmds::statLease4GetHandler(CalloutHandle& handle) {
try {
LeaseStatCmdsImpl impl;
- MultiThreadingCriticalSection cs;
return (impl.statLease4GetHandler(handle));
} catch (const std::exception& ex) {
StatCmds::statLease6GetHandler(CalloutHandle& handle) {
try {
LeaseStatCmdsImpl impl;
- MultiThreadingCriticalSection cs;
return (impl.statLease6GetHandler(handle));
} catch (const std::exception& ex) {
LeaseStatsQueryPtr
Memfile_LeaseMgr::startLeaseStatsQuery4() {
LeaseStatsQueryPtr query(new MemfileLeaseStatsQuery4(storage4_));
- query->start();
+ if (MultiThreadingMgr::instance().getMode()) {
+ std::lock_guard<std::mutex> lock(*mutex_);
+ query->start();
+ } else {
+ query->start();
+ }
+
return(query);
}
LeaseStatsQueryPtr
Memfile_LeaseMgr::startSubnetLeaseStatsQuery4(const SubnetID& subnet_id) {
LeaseStatsQueryPtr query(new MemfileLeaseStatsQuery4(storage4_, subnet_id));
- query->start();
+ if (MultiThreadingMgr::instance().getMode()) {
+ std::lock_guard<std::mutex> lock(*mutex_);
+ query->start();
+ } else {
+ query->start();
+ }
+
return(query);
}
const SubnetID& last_subnet_id) {
LeaseStatsQueryPtr query(new MemfileLeaseStatsQuery4(storage4_, first_subnet_id,
last_subnet_id));
- query->start();
+ if (MultiThreadingMgr::instance().getMode()) {
+ std::lock_guard<std::mutex> lock(*mutex_);
+ query->start();
+ } else {
+ query->start();
+ }
+
return(query);
}
LeaseStatsQueryPtr
Memfile_LeaseMgr::startLeaseStatsQuery6() {
LeaseStatsQueryPtr query(new MemfileLeaseStatsQuery6(storage6_));
- query->start();
+ if (MultiThreadingMgr::instance().getMode()) {
+ std::lock_guard<std::mutex> lock(*mutex_);
+ query->start();
+ } else {
+ query->start();
+ }
+
return(query);
}
LeaseStatsQueryPtr
Memfile_LeaseMgr::startSubnetLeaseStatsQuery6(const SubnetID& subnet_id) {
LeaseStatsQueryPtr query(new MemfileLeaseStatsQuery6(storage6_, subnet_id));
- query->start();
+ if (MultiThreadingMgr::instance().getMode()) {
+ std::lock_guard<std::mutex> lock(*mutex_);
+ query->start();
+ } else {
+ query->start();
+ }
+
return(query);
}
const SubnetID& last_subnet_id) {
LeaseStatsQueryPtr query(new MemfileLeaseStatsQuery6(storage6_, first_subnet_id,
last_subnet_id));
- query->start();
+ if (MultiThreadingMgr::instance().getMode()) {
+ std::lock_guard<std::mutex> lock(*mutex_);
+ query->start();
+ } else {
+ query->start();
+ }
+
return(query);
}