Remove/close socket from internal collection in Client#readResponses() after response was fetched
Remove/close socket from internal collection in Client#fetchResponseAndNotifyCallback() after response was handled
Update of docker build environment (PHP & Xdebug versions)
Further comments
The introduction of re-using idle sockets in v2.7.0 caused the issue that finished async requests kept their socket connections to php-fpm open forever. If the number of parallel async requests exceeds the number of allowed pm.max_children further requests were not processed anymore as php-fpm was expecting to get new requests through the already open, idle socket connections.
Related to issue #40
Proposed Changes
Client#readResponses()
after response was fetchedClient#fetchResponseAndNotifyCallback()
after response was handledFurther comments
The introduction of re-using idle sockets in
v2.7.0
caused the issue that finished async requests kept their socket connections to php-fpm open forever. If the number of parallel async requests exceeds the number of allowedpm.max_children
further requests were not processed anymore as php-fpm was expecting to get new requests through the already open, idle socket connections.