Commit 3adbaf3a authored by Franco Fichtner's avatar Franco Fichtner

gateways: only force apinger status if running

(cherry picked from commit 89d73f69)
parent 977e6e1a
...@@ -393,31 +393,33 @@ function return_gateways_status($byname = false) ...@@ -393,31 +393,33 @@ function return_gateways_status($byname = false)
{ {
global $config; global $config;
$apingerstatus = array(); $status = array();
/* Always get the latest status from apinger */ if (isvalidpid('/var/run/apinger.pid')) {
killbypid('/var/run/apinger.pid', 'USR1'); /* always get the latest status from apinger */
/* we may read the wrong file here as it's async: */ killbypid('/var/run/apinger.pid', 'USR1');
if (file_exists('/var/run/apinger.status')) {
$apingerstatus = file('/var/run/apinger.status');
}
$status = array(); /* we may read the wrong file here as it's async: */
foreach ($apingerstatus as $line) { if (file_exists('/var/run/apinger.status')) {
$info = explode('|', $line); $apingerstatus = file('/var/run/apinger.status');
if ($byname == false) {
$target = $info[0];
} else {
$target = $info[2];
}
$status[$target] = array(); foreach ($apingerstatus as $line) {
$status[$target]['monitorip'] = $info[0]; $info = explode('|', $line);
$status[$target]['srcip'] = $info[1]; if ($byname == false) {
$status[$target]['name'] = $info[2]; $target = $info[0];
$status[$target]['delay'] = sprintf('%0.1f ms', empty($info[6]) ? 0.0 : round($info[6], 1)); } else {
$status[$target]['loss'] = sprintf('%0.1f %%', empty($info[7]) ? 0.0 : round($info[7], 1)); $target = $info[2];
$status[$target]['status'] = trim($info[8]); }
$status[$target] = array();
$status[$target]['monitorip'] = $info[0];
$status[$target]['srcip'] = $info[1];
$status[$target]['name'] = $info[2];
$status[$target]['delay'] = sprintf('%0.1f ms', empty($info[6]) ? 0.0 : round($info[6], 1));
$status[$target]['loss'] = sprintf('%0.1f %%', empty($info[7]) ? 0.0 : round($info[7], 1));
$status[$target]['status'] = trim($info[8]);
}
}
} }
/* tack on any gateways that have monitoring disabled /* tack on any gateways that have monitoring disabled
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment