ucentral-state: reuse timers

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2023-12-06 13:56:52 +01:00
parent 4db54ce3d9
commit 9a9f9e1cb9

View File

@@ -68,7 +68,10 @@ state = {
};
function offline_handler() {
//ulog(LOG_INFO, 'going offline\n');
let status = ubus.call('ucentral', 'status');
if (status?.connected)
return;
ulog(LOG_INFO, 'going offline\n');
ubus.call('network.interface.admin_ui', 'up');
}
@@ -142,8 +145,12 @@ let state_handler = {
if (!led)
return ubus.STATUS_INVALID_ARGUMENT;
led_write(led, 'trigger', 'heartbeat');
if (config.ui.offline_trigger)
offline_timer = uloop.timer(config.ui.offline_trigger * 1000, offline_handler);
if (config.ui.offline_trigger) {
if (offline_timer)
offline_timer.set(config.ui.offline_trigger * 1000);
else
offline_timer = uloop.timer(config.ui.offline_trigger * 1000, offline_handler);
}
return 0;
},