update to 2.2.4 version

update docs
fix broken ssh caused cpu overloading
fix WorkerCache bug when no global config
add global function zm_atomic
This commit is contained in:
jerry
2021-02-07 11:46:42 +08:00
parent 517d258d61
commit 0c9f246690
15 changed files with 315 additions and 12 deletions

View File

@@ -62,7 +62,12 @@ class ServerEventHandler
if ($terminal_id !== null) {
ZMBuf::$terminal = $r = STDIN;
Event::add($r, function () use ($r) {
$var = trim(fgets($r));
$fget = fgets($r);
if ($fget === false) {
Event::del($r);
return;
}
$var = trim($fget);
try {
Terminal::executeCommand($var, $r);
} catch (Exception $e) {
@@ -405,7 +410,7 @@ class ServerEventHandler
if (($a = ZMConfig::get("global", "access_token")) != "") {
if ($access_token !== $a) {
$server->close($request->fd);
Console::warning("Unauthorized access_token: ".$access_token);
Console::warning("Unauthorized access_token: " . $access_token);
return;
}
}

View File

@@ -29,7 +29,7 @@ class WorkerCache
}
public static function set($key, $value, $async = false) {
$config = self::$config ?? ZMConfig::get("global", "worker_cache");
$config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if ($config["worker"] === server()->worker_id) {
self::$store[$key] = $value;
return true;
@@ -50,7 +50,7 @@ class WorkerCache
}
public static function unset($key, $async = false) {
$config = self::$config ?? ZMConfig::get("global", "worker_cache");
$config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if ($config["worker"] === server()->worker_id) {
unset(self::$store[$key]);
return true;
@@ -61,7 +61,7 @@ class WorkerCache
}
public static function add($key, int $value, $async = false) {
$config = self::$config ?? ZMConfig::get("global", "worker_cache");
$config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if ($config["worker"] === server()->worker_id) {
if(!isset(self::$store[$key])) self::$store[$key] = 0;
self::$store[$key] += $value;
@@ -73,7 +73,7 @@ class WorkerCache
}
public static function sub($key, int $value, $async = false) {
$config = self::$config ?? ZMConfig::get("global", "worker_cache");
$config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if ($config["worker"] === server()->worker_id) {
if(!isset(self::$store[$key])) self::$store[$key] = 0;
self::$store[$key] -= $value;

View File

@@ -310,3 +310,7 @@ function getAllFdByConnectType(string $type = 'default'): array {
}
return $fds;
}
function zm_atomic($name) {
return \ZM\Store\ZMAtomic::get($name);
}