pthreads: Changelog

Version Message
3.1.6 fix explicit array cast for ASSIGN_DIM
add Threaded::notifyOne
fix bug in Threaded properties causing incorrect objects to be fetched by read
fix bug in trait aliases
fix INHERIT_NONE breaking lambdas
fix bug in constant copy routine for 7.1
3.1.5 fix issue with return/param verification overload (32bit), gh issue #523
3.1.4 fix various faults caused by globally allocated strings (removed)
minor stability improvements
3.1.3 fix gh issue #482
3.1.2 introduce explicit object cast (see test)
3.1.1 Fix fault when ::shutdown is called on Thread preceeding ::start
3.1.0 Initial development of v3 is complete, this release is the first supported
release of pthreads v3 for PHP7.
Breaking changes for Collectables in this release.
SemVer will be (roughly) followed from this release onward.
Everyone on PHP7 must upgrade!
3.0.8 fix gh issue #493 (exception handling bug)
fix gh issue #495 (constant AST bug)
creation/destruction of additional contexts done inside critical section for stability
remove a bunch of redundant code, various
3.0.7 fix issue destroying monitors (deadlocking on shutdown)
remove Thread::kill
disable auto-join on __destruct of Thread
use global persistent shared strings table
support compiling and linking with AddressSanitizer support
3.0.6 only allow execution in CLI, the only place it is really sensible
3.0.5 fix gh issue #489 (errors on WIN64)
3.0.4 fix fault caused by manipulation of uninitialized properties table by various handlers
3.0.3 fix on store of resource type in threaded object causing resource to be dtored early
fix for Thread::kill to stop it bailing out during thread shutdown
coerce arrays to Volatile objects so they behave as expected when set as members of Threaded objects
fix for the copying of classes which implement iterators, caused execution to be unsafe
3.0.2 fix gh issue #484
support object comparison
do not allow exception handlers that are inconsistent with thread options to be inherited
3.0.1 fix gh issue #482
3.0.0 first PHP7 release
2.0.10 fix crash when sending SIGINT, clashed with ::kill
2.0.9 add support for closures as members
add support for creating anonymous objects from closures
fix referencing issue
2.0.8 resolve bugs in static class members
resolve bug in property table write failure causing fault
introduce Collectable convenience class for Pools
get deep copying of functions working
add message to termination info
make consistent isset/empty behaviour on Threaded objects
add Threaded::extend voodoo method
solve system memory leaks in windows
introduce object cache, saving on allocation for access to all members
fix crash when class has legacy ctor
fix fault in ::chunk
fix fault in fpm
fix overflow in ::wait
various other stability improvements
2.0.7 fix regression error in last release
2.0.6 fix build in windows
2.0.5 fix fault in windows
fix fault from incorrect efree of run time cache
2.0.4 fix memory errors introduced in 2.0.0
fix 5.3 build
synchronize versions
2.0.3 Fix bug in trait alias/precedence (gh bug #274)
Fix leak (gh bug #272)
2.0.2 Fix build in BSD and other *nix where PTHREAD_MUTEX_RECURSIVE_NP is enum
2.0.1 Add globals inheritance option
Add method to execute block in global scope
Fix build when SPL is not loaded (spl sucks)
2.0.0 Fix errors; inheritance and scope in threads (bugs in prepare)
Fix fault; accessing destroyed objects (throw ex)
Make use of inheritance within pthreads (bc compatible using alias)
Remove abstract flag from ::run method
Remove use of errors in favour of exceptions
Remove all final modifiers on threaded objects
Fix fault; submit to incorrectly constructed Pool
Fixed fault; (re)using primitives that are object members across contexts
Fixed fault; intermittent fault on session_start inside threads
Various internal improvements
1.0.1 Fix fault in logic of Pool
Fix segfaut in synchronized blocks on exception #236
1.0.0 Pooling implemented as part of extension
Stackable no longer abstract to reduce boilerplate
Simplified code in a few places
0.1.0 fixed shutdown handler causing segfaults
add ::kill method, safely kill threads that are blocking/misbehaving
fix segfault induced by clone
fix usage of sessions causing segfaults
various internal changes to improve stability
0.0.45 additional functionality for all objects: pop/merge/shift/chunk
shared class name table saves memory for each context/avoids errors
segfaults/memory errors avoided where possible
more predictable behaviour when objects gone away
0.0.44 fix ::merge duplicate keys (#97, #98)
improvements from weltling for config.w32
corrections to some examples
fix #99 resources crash
fix tests - missing include and format incorrect in expect section
0.0.43 ::isTerminated to detect fatal errors and uncaught exceptions
cast pthreads objects to array
implement count on pthreads object
implement selective inheritance (control what is available in the threaded context)
fix crash when undefined dimension is accessed
fix state detection when crash encountered
0.0.42 stability and bugfix update
iteration of objects working as expected from any context
some leaks and segfaults avoided/fixed
0.0.41 stability and bug fix update
remove ::wait(member, [timeout])
fix bugs in synchronization
remove the need to use default object properties
less calls to EG at thread runtime
remove complex variables ( resources / objects ) from static class members
rely completely on pthreads storage for object members
0.0.40 access to static class properties bugs resolved
provisions made for sharing resources among contexts
additional options for synchronization and advancement of the API
0.0.39 fix access to undefined static class members
fix redeclaration of some extension declared constants
::wait(member, timeout) functionality
0.0.38 removal of most globals, just the lock remains
faster mechanism for connecting to pthreads objects
locking independant of the underlying mutex type ( for when error checking is unavailable )
interfaces working in the multi-threaded environment
traits working in the multi-threaded environment
inheritance working as the programmer declared it
function table inherited
INI entries inherited
a more compatible method of creating class entries in the threading context
thread startup and shutdown uniform across SAPI environments
stack to workers from any context with a reference
more tests, to help me with bug reports
some other boring stuff ...
0.0.37 default properties working as expected
leaks from default properties plugged
advancements in state detection
cleanup of PHP API, methods / parameters / classes etc ( final )
stability improvements, various
object functionality improvements
storage improvements, various
0.0.36 Advancedments in Worker/Stackable functionality
Better use of object funcionality
protected methods provide synchronized access to instance methods for stackables, workers and threads
private methods only allowed to be executed within the threading context
read/write access to all thread data
__prepare no longer required
0.0.35 The package with version 0.0.34 contains an error and will not build without debug enabled
0.0.33 Please report bugs at