init(); } /** * Initializes the mutex. */ private function init() { $this->mutex = new Internal\Mutex; } /** * {@inheritdoc} */ public function acquire(): Awaitable { return $this->mutex->acquire(); } /** * Makes a copy of the mutex in the unlocked state. */ public function __clone() { $this->init(); } }