diff --git a/System/Abstracts/Pool.php b/System/Abstracts/Pool.php index c0e66727..5349e8c2 100644 --- a/System/Abstracts/Pool.php +++ b/System/Abstracts/Pool.php @@ -43,6 +43,7 @@ abstract class Pool extends Component */ protected function get($name) { + $this->debug('get connect.' . $this->size($name)); [$timeout, $connection] = $this->_items[$name]->pop(); if (!$this->checkCanUse($name, $timeout, $connection)) { unset($client); @@ -125,6 +126,7 @@ abstract class Pool extends Component public function push($name, $client) { $this->_items[$name]->push([time(), $client]); + unset($client); $this->debug('release connect.' . $this->size($name)); } diff --git a/System/Pool/Connection.php b/System/Pool/Connection.php index 18aef57b..e59aab27 100644 --- a/System/Pool/Connection.php +++ b/System/Pool/Connection.php @@ -156,7 +156,8 @@ class Connection extends Pool if (Context::hasContext($coroutineName)) { return Context::getContext($coroutineName); } - if ($this->size($coroutineName) < 1 && $this->hasCreate[$coroutineName] < $this->max) { + if ($this->size($coroutineName) < 1) { +// if ($this->size($coroutineName) < 1 && $this->hasCreate[$coroutineName] < $this->max) { return $this->saveClient($coroutineName, $this->nowClient($coroutineName, $config)); } [$timeout, $connection] = $client = $this->get($coroutineName);