return false;
// Fetch the max value from the config. This is needed when the system cannot detect the correct value by itself.
+ // In that case we use the processlist to determine the current number of connections
$max = get_config("system", "max_connections");
if ($max == 0) {
$max = intval($r[0]["Value"]);
if ($max == 0)
return false;
- }
- $r = q("SHOW STATUS WHERE `variable_name` = 'Threads_connected'");
- if (!$r)
- return false;
+ $r = q("SHOW STATUS WHERE `variable_name` = 'Threads_connected'");
+ if (!$r)
+ return false;
- $connected = intval($r[0]["Value"]);
- if ($connected == 0)
- return false;
+ $connected = intval($r[0]["Value"]);
+ if ($connected == 0)
+ return false;
+ } else {
+ $r = q("SHOW PROCESSLIST");
+ if (!$r)
+ return false;
+
+ $connected = count($r);
+ }
$level = $connected / $max;