static void maintThread()
{
setThreadName("dnsdist/main");
- int interval = 1;
+ constexpr int interval = 1;
size_t counter = 0;
int32_t secondsToWaitLog = 0;
for (;;) {
- sleep(interval);
+ std::this_thread::sleep_for(std::chrono::seconds(interval));
{
auto lua = g_lua.lock();
try {
- auto f = lua->readVariable<boost::optional<std::function<void()> > >("maintenance");
- if (f) {
- (*f)();
+ auto maintenanceCallback = lua->readVariable<boost::optional<std::function<void()> > >("maintenance");
+ if (maintenanceCallback) {
+ (*maintenanceCallback)();
}
- dnsdist::lua::hooks::runMaintenanceHook(*lua);
+ dnsdist::lua::hooks::runMaintenanceHooks(*lua);
secondsToWaitLog = 0;
}
catch (const std::exception &e) {
g_policy.setState(ServerPolicy());
g_pools.setState({});
clearWebHandlers();
- dnsdist::lua::hooks::clearMaintenanceHook();
+ dnsdist::lua::hooks::clearMaintenanceHooks();
}
static void sigTermHandler(int)
namespace dnsdist::lua::hooks
{
-static LockGuarded<std::vector<MaintenanceCallback>> s_maintenanceHook;
+static LockGuarded<std::vector<MaintenanceCallback>> s_maintenanceHooks;
-void runMaintenanceHook(const LuaContext& context)
+void runMaintenanceHooks(const LuaContext& context)
{
(void)context;
- for (const auto& callback : *(s_maintenanceHook.lock())) {
+ for (const auto& callback : *(s_maintenanceHooks.lock())) {
callback();
}
}
void addMaintenanceCallback(const LuaContext& context, MaintenanceCallback callback)
{
(void)context;
- s_maintenanceHook.lock()->push_back(std::move(callback));
+ s_maintenanceHooks.lock()->push_back(std::move(callback));
}
-void clearMaintenanceHook()
+void clearMaintenanceHooks()
{
- s_maintenanceHook.lock()->clear();
+ s_maintenanceHooks.lock()->clear();
}
void setupLuaHooks(LuaContext& luaCtx)
namespace dnsdist::lua::hooks
{
using MaintenanceCallback = std::function<void()>;
-void runMaintenanceHook(const LuaContext& context);
+void runMaintenanceHooks(const LuaContext& context);
void addMaintenanceCallback(MaintenanceCallback callback);
-void clearMaintenanceHook();
+void clearMaintenanceHooks();
void setupLuaHooks(LuaContext& luaCtx);
}