Skip to content

async: report the ABI version the header defines, and state the awaited writev's contract - #26

Merged
EdmondDantes merged 2 commits into
true-asyncfrom
abi-0.25-string-and-await-note
Aug 21, 2026
Merged

async: report the ABI version the header defines, and state the awaited writev's contract#26
EdmondDantes merged 2 commits into
true-asyncfrom
abi-0.25-string-and-await-note

Conversation

@EdmondDantes

@EdmondDantes EdmondDantes commented Aug 20, 2026

Copy link
Copy Markdown

Header-only, two commits.

The banner lagged the number. 1ae0254f368 raised ZEND_ASYNC_API_VERSION_MINOR to 25
and left ZEND_ASYNC_API at "TrueAsync ABI v0.24.0", so php -v names 0.24 on a 0.25
build. Every earlier bump moved both lines.

Three things the writev doc did not say. A ZSTR batch holds at most 65535 buffers,
because the request stores the slot count in a uint16_t. nbufs == 0 is the one NULL
return that raises no exception. And disposing an awaited request is safe after its handle
is gone: the completion drops the request's link to the handle before handing it over, so
the awaiter's dispose touches nothing that can have been freed. The reactor side of that
last one is true-async/php-async#263.

@EdmondDantes
EdmondDantes force-pushed the abi-0.25-string-and-await-note branch from 03b83df to f421d68 Compare August 20, 2026 19:37
@EdmondDantes EdmondDantes changed the title async: report the ABI version the header actually defines, and state the awaited writev's contract async: report the ABI version the header defines, and state the awaited writev's contract Aug 21, 2026
@EdmondDantes
EdmondDantes merged commit 6a16b59 into true-async Aug 21, 2026
9 of 17 checks passed
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