Releases: pmmp/ext-pmmpthread
Releases · pmmp/ext-pmmpthread
5.2.3
5.2.2
5.2.1
Changes since 5.2.0
- Reduced memory usage of
ThreadedBase
objects by interning defined property name strings for the lifetime of the process. - Improved string key usage within
ThreadedBase
objects by allowing the direct referencing of permanent interned strings, such as those created by OPcache. - Fixed
ThreadedArray::merge()
not properly updating offsets that were overwritten during merge.
5.2.0
Changes since 5.1.4
- User-defined
Thread::join()
overrides are now called when aThread
enters the default destructor, allowing busy threads to be interrupted without an extra method call. - Fixed
UNKNOWN:0
being returned when reading an undefined property of aThreadedBase
. - Behaviour of reading undefined properties now more closely matches normal objects.
- Behaviour of misusing static properties as dynamic now matches normal objects.
5.1.4
5.1.3
4.2.1
5.1.2
Changes since 5.1.1
- Fixed memory leaks when workers are never allowed to be idle (garbage not being collected from inside the worker thread)
- Fixed random segfaults when calling
gc_collect_cycles()
while worker tasks were running (Worker
not including the currently-running task in GC report). - Fixed compiler warnings in
zend_error_at_noreturn()
usages in PHP 8.1 and up. - Fixed some tests sometimes timing out under Valgrind (spin-waits on
Worker::collect()
causing thread starvation).
5.1.1
Changes since 5.1.0
- Dereferencing an already-destroyed thread-safe object from any
ThreadedBase
property now throwsThreadedConnectionException
instead ofRuntimeException
. - The behaviour of uninitialized properties on
ThreadedBase
objects now more correctly matches non-thread-safe objects.
5.1.0
Changes since 5.0.x
- Automatically dereference all objects into owner caches on child thread exit. This makes transferring data from child thread/worker task to parent much less obnoxious, and occurrences of
pthreads detected an attempt to connect to an object which has already been destroyed
much less easy to run into. For details, see 4ddf79e.