From 303f44cd2bbf8be7fa22d67a85f1dc57e39346fd Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 23 Mar 2021 13:11:59 +0800 Subject: [PATCH] update to version 2.3.2 (build 395) fix overflow bug --- src/ZM/API/CQAPI.php | 24 +++++++----------------- src/ZM/ConsoleApplication.php | 2 +- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/ZM/API/CQAPI.php b/src/ZM/API/CQAPI.php index 68819329..727e88cc 100644 --- a/src/ZM/API/CQAPI.php +++ b/src/ZM/API/CQAPI.php @@ -29,25 +29,15 @@ trait CQAPI public function processWebsocketAPI($connection, $reply, $function = false) { $api_id = ZMAtomic::get("wait_msg_id")->add(1); $reply["echo"] = $api_id; - SpinLock::lock("wait_api"); - $r = LightCacheInside::get("wait_api", "wait_api"); - $r[$api_id] = [ - "data" => $reply, - "time" => microtime(true), - "self_id" => $connection->getOption("connect_id"), - "echo" => $api_id - ]; - LightCacheInside::set("wait_api", "wait_api", $r); - SpinLock::unlock("wait_api"); if (server()->push($connection->getFd(), json_encode($reply))) { if ($function === true) { - return CoMessage::yieldByWS($r[$api_id], ["echo"], 60); - } else { - SpinLock::lock("wait_api"); - $r = LightCacheInside::get("wait_api", "wait_api"); - unset($r[$api_id]); - LightCacheInside::set("wait_api", "wait_api", $r); - SpinLock::unlock("wait_api"); + $obj = [ + "data" => $reply, + "time" => microtime(true), + "self_id" => $connection->getOption("connect_id"), + "echo" => $api_id + ]; + return CoMessage::yieldByWS($obj, ["echo"], 60); } return true; } else { diff --git a/src/ZM/ConsoleApplication.php b/src/ZM/ConsoleApplication.php index 6accda3d..69960d47 100644 --- a/src/ZM/ConsoleApplication.php +++ b/src/ZM/ConsoleApplication.php @@ -18,7 +18,7 @@ use ZM\Utils\DataProvider; class ConsoleApplication extends Application { - const VERSION_ID = 394; + const VERSION_ID = 395; const VERSION = "2.3.2"; public function __construct(string $name = 'UNKNOWN') {