Skip to content

v13.11.1.0

@webpatser webpatser tagged this 19 May 08:21
The destructor used to call async($this->release) and discard the
returned Future. Under Fledge's strict-mode error handler this raises
'should either be used or intentionally ignored', killing the request
the first time a Lock falls out of scope outside an explicit release()
call (e.g. Laravel Pulse's Redis recorders).

Delegating to release() reuses the existing dual-mode logic
(synchronous in-fiber vs. attached-to-pendingOperations when
force-closed) so the Future is always either consumed or tracked
through shutdown.

Adds a regression test that installs a strict error handler and
asserts the destructor neither emits the warning nor loses the
release closure.
Assets 2
Loading