Skip to content

Zend/async: batched transferred-zval release - #17

Merged
EdmondDantes merged 1 commit into
true-async-stablefrom
fix/async-batched-transferred-release
Jul 28, 2026
Merged

Zend/async: batched transferred-zval release#17
EdmondDantes merged 1 commit into
true-async-stablefrom
fix/async-batched-transferred-release

Conversation

@EdmondDantes

Copy link
Copy Markdown

Adds zend_async_thread_release_transferred_zvals / ZEND_ASYNC_THREAD_RELEASE_TRANSFERRED_ZVALS beside the single-zval release, so an embedder can free several roots of ONE transfer under one visited set — freeing a shared/aliased copy once, not twice. Additive; existing callers unchanged. Impl + registration in the php-async PR; consumed by the server's worker-shell release double-free fix.

Expose zend_async_thread_release_transferred_zvals (macro
ZEND_ASYNC_THREAD_RELEASE_TRANSFERRED_ZVALS) beside the single-zval release, so an
embedder can free several roots of ONE transfer under one visited set — freeing a
shared/aliased copy once instead of twice. Additive; existing callers unchanged.
@EdmondDantes
EdmondDantes merged commit 392cb53 into true-async-stable Jul 28, 2026
9 of 17 checks passed
@EdmondDantes
EdmondDantes deleted the fix/async-batched-transferred-release branch July 28, 2026 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant