-
Notifications
You must be signed in to change notification settings - Fork 7.9k
True async api stable #19142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
EdmondDantes
wants to merge
177
commits into
php:master
Choose a base branch
from
true-async:true-async-api-stable
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+6,619
−63
Open
True async api stable #19142
Changes from 1 commit
Commits
Show all changes
177 commits
Select commit
Hold shift + click to select a range
fb08bd8
+ ZendAsync API version 1.0.0-dev
EdmondDantes e41889d
* add ext/async to gitignore
EdmondDantes 2978450
+ Add CancellationException class for async API support
EdmondDantes 2a8d00b
Merge branch 'php:master' into true-async-api
EdmondDantes 3c7e4c0
% Rename ZendAsync => TrueAsync
EdmondDantes f5f6646
Merge remote-tracking branch 'origin/true-async-api' into true-async-api
EdmondDantes e799d31
% The method for retrieving exceptions for TrueAsync has been general…
EdmondDantes 7c0f797
+ Add Context API for coroutine key-value storage
a5d445d
+ Implement Context API for coroutine key-value storage
ee491e3
Merge branch 'php:master' into true-async-api
EdmondDantes c4f9c57
Merge branch 'php:master' into true-async-api
EdmondDantes 18c94dc
Refactor Context API to use single new_context function
a863a07
Merge remote-tracking branch 'origin/true-async-api' into true-async-api
EdmondDantes 5aee595
Merge branch 'php:master' into true-async-api
EdmondDantes 9eaad13
Merge branch 'php:master' into true-async-api
EdmondDantes b5a7b73
* Fixes in coroutine context implementation.
EdmondDantes a937b63
+ config-true-async.yml
EdmondDantes d7132fd
+ config-true-async.yml
EdmondDantes f915035
+ Enhance coroutine creation and scheduler scope handling
EdmondDantes cf52335
* Code related to Scope has been fixed. A main_scope was added, as it…
EdmondDantes 1b84735
Merge branch 'php:master' into true-async-api
EdmondDantes 2896aec
+ enqueue_coroutine
EdmondDantes 29e0cd6
% Refactoring the coroutine context state for switching, so that the …
EdmondDantes 5059d33
Merge branch 'php:master' into true-async-api
EdmondDantes 6fa485b
* Unit test await\001-await_basic.phpt
EdmondDantes f4597e1
* fix bug with waker dtor
EdmondDantes 4cff86f
% Refactoring the extension mechanism for Event-type objects.
EdmondDantes 9537c42
% Added code to catch exceptions in the main coroutine. The exception…
EdmondDantes 152c877
* Fixed bugs in the Timeout class.
EdmondDantes 95b12f7
* fix zend_async_waker_callback_resolve. The method now automatically…
EdmondDantes 3fce53c
* fix Unix build process
EdmondDantes f471995
fix: ensure extended_data is set only in coroutine context
EdmondDantes 372d6d7
Merge remote-tracking branch 'origin/true-async-api' into true-async-api
EdmondDantes daac306
* fix GC error fornon TLS
EdmondDantes 7e9e31a
* Fixed correct handling of multiple SAPI initializations for PHPDBG.
EdmondDantes ca3e57c
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes 0a92de9
+ Add 'True Async API' out for configure Win32
EdmondDantes 967bdb5
Merge branch 'php:master' into true-async-api
EdmondDantes a7281f9
* fix for #define ZEND_ASYNC_GETADDRINFO(node, service, hints) zend_a…
EdmondDantes 0d981ee
* fix for #define ZEND_ASYNC_GETADDRINFO(node, service, hints) zend_a…
EdmondDantes 9011197
Add nanosecond support to async timer events with backward compatibility
EdmondDantes 8333867
Merge branch 'php:master' into true-async-api
EdmondDantes 3e21d38
Merge branch 'php:master' into true-async-api
EdmondDantes cd3ac1b
+ add ZEND_ASYNC_GETADDRINFO_EX
EdmondDantes aac97d7
+ TrueAsync API docs
EdmondDantes 00a2768
+ TrueAsync API docs
EdmondDantes bd31f8e
% Refactoring Zend DNS API
EdmondDantes 305cef7
+ ZEND_ASYNC_GET_COROUTINE_CONTEXT
EdmondDantes 19dc561
+ Coroutine Internal context
EdmondDantes 83452b8
% refactoring Internal Context API
EdmondDantes 60567ff
% refactoring Internal Context API
EdmondDantes 98ab2e6
% refactoring ZEND_ASYNC_INTERNAL_CONTEXT_FIND
EdmondDantes aaaafe6
+ zend_async_event_callback API
EdmondDantes 0381a5c
fix: Fixed a bug related to event deletion.
EdmondDantes 7970eaa
Fix concurrent modification bug in zend_async_callbacks_notify
EdmondDantes 43d48eb
* fix bugs with callbacks vector iterator
EdmondDantes 2fcd971
% move vector functions to *.c
EdmondDantes d4d0d8b
* fix bugs with events callbacks vector
EdmondDantes 9eb5688
* fix waker_events_dtor
EdmondDantes a234daa
* fix for waker_events_dtor
EdmondDantes e08a5b5
* fix coroutine_event_callback_dispose issue double free
EdmondDantes 63d43e5
% Event references have been added — a mechanism that allows separati…
EdmondDantes 2168102
% refactoring zend_async_callbacks_notify
EdmondDantes 5991d08
+ update docs
EdmondDantes 2fbd940
+ A special method event.replay has been added, which can be used for…
EdmondDantes cb8debd
% refactoring zend_async_coroutine_callback_new
EdmondDantes 899448e
Merge branch 'php:master' into true-async-api
EdmondDantes 01d3fdc
+ ZEND_ASYNC_EVENT_CALLBACK macrofunction
EdmondDantes 0e78bf0
Merge remote-tracking branch 'origin/true-async-api' into true-async-api
EdmondDantes 530174d
Merge branch 'php:master' into true-async-api
EdmondDantes e0c64f1
Merge branch 'php:master' into true-async-api
EdmondDantes a71012b
+ auto stop event for zend_async_callbacks_notify_and_close
EdmondDantes a8c2d42
+ Socket Listening API
EdmondDantes fc174c1
Add global main coroutine switch handlers API for context isolation
EdmondDantes 5aca1a9
% optimize coroutine switch hook
EdmondDantes bd0699d
Merge branch 'php:master' into true-async-api
EdmondDantes 089cfe5
* fix behavior with dispose operation inside zend_async_callbacks_notify
EdmondDantes 7e146ad
Merge remote-tracking branch 'origin/true-async-api' into true-async-api
EdmondDantes fa0ccab
* UNIX: fix exec tests
EdmondDantes cbe111c
* UNIX: Refactoring of coroutine cancellation and completion logic
EdmondDantes 8ee66aa
+ ZEND_ASYNC_WAKER_APPLY_ERROR
EdmondDantes a0ed682
+ Refactoring async_coroutine_cancel
EdmondDantes def82b4
* fix ZEND_ASYNC_INITIALIZE issue
EdmondDantes 085e265
* fix ZEND_ASYNC_IS_OFF issue
EdmondDantes 09e6031
Merge branch 'php:master' into true-async-api
EdmondDantes 7b665ed
+ Scope API
EdmondDantes 9990aa8
% refactoring catch_or_cancel logic according to RFC scope behavior
EdmondDantes 739364f
* fix build issue for Scope
EdmondDantes 209bd32
* fixes scope_try_to_dispose
EdmondDantes a234299
% The ZEND_ASYNC_NEW_SCOPE API function has been modified — it can no…
EdmondDantes 964eca0
add coroutine priority support to TrueAsync API
EdmondDantes 09947a1
Add cross-thread trigger event API
EdmondDantes f195fe6
Merge branch 'php:master' into true-async-api
EdmondDantes 2137eb5
+ **Iterator API integration**: Added `zend_async_iterator_t` structu…
EdmondDantes 2593f66
% refactoring typedef zend_async_iterator_t* (*zend_async_new_iterato…
EdmondDantes de45e8c
+ async_spawn_and_throw
EdmondDantes 9301b6c
% Major refactoring of Finally Handlers and the exception handling me…
EdmondDantes ce5c1d7
% prepare code for zend_call_destructors
EdmondDantes 1f109f6
+ shutdown_destructors_async Support for concurrent iteration of the …
EdmondDantes 31999c5
+ shutdown_destructors_async Support for concurrent iteration of the …
EdmondDantes 36ab8a9
+ shutdown_destructors_async Support for concurrent iteration of the …
EdmondDantes 818cd16
* fix issue with structure initialization
EdmondDantes a8782ec
Merge branch 'php:master' into true-async-api
EdmondDantes 1fa4663
* Change --enable-experimental-async-api to --disable-async-api.
EdmondDantes 8f15592
Merge branch 'php:master' into true-async-api
EdmondDantes e8fb89d
* fix bug with PHP_ASYNC_API
EdmondDantes e054b53
% change Trye Async API version to 0.2
EdmondDantes 2f99cee
* fix issue with API stub
EdmondDantes e27f9b6
Merge remote-tracking branch 'origin/true-async-api' into true-async-api
EdmondDantes daba869
Merge branch 'php:master' into true-async-api-stable
EdmondDantes f99433c
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes 7945990
fix: add explicit pointer casts for C++ compatibility in async API
EdmondDantes 8fca959
* Fixed an issue with incorrect cleanup of coroutine interceptor hand…
EdmondDantes 9645e1e
#6: * Fixed GC behavior in the context of coroutines. Infinite garbag…
EdmondDantes b675f11
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes 9f3bd23
#7: Refactoring of Zend GC logic for coroutines. Added GC context for…
EdmondDantes 6e955d2
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes 5802ace
#7: Fixed a bug with incorrect memory release of a microtask.
EdmondDantes c768c1f
#7: zend_hrtime_t dtor_start_time Fixed a variable initialization sta…
EdmondDantes 3a89d8f
#19: Memory leaks fixed for GC and coroutine tests.
EdmondDantes 5fdaf59
#19: Changes in the Zend Async API shutdown mechanism
EdmondDantes ac1f0eb
#19: * The ref_count logic for event callbacks has been improved. Spe…
EdmondDantes 9d59043
#8: Add comprehensive bailout tests for TrueAsync API
EdmondDantes 28530c8
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes f8c81f6
#9: * Fixes in the zend_iterator logic in the context of concurrent i…
EdmondDantes ef9a619
#9: * Fix event callback disposal and improve error handling in TrueA…
EdmondDantes fe7b894
#9: + Added functionality for proper handling of exceptions from `Zen…
EdmondDantes 70d3b0c
#9: fix issue with static void coroutine_event_callback_dispose
EdmondDantes 72786c3
#9: + add ZEND_ASYNC_SCOPE_SET_DISPOSED
EdmondDantes bd76291
#9: + ZEND_ASYNC_SCOPE_CLR_DISPOSING
EdmondDantes 35d4849
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes 9f57f11
#25: * fix Zend GC issue with Fiber case
EdmondDantes 1a398f9
#25: * fix Zend GC issue after refactoring
EdmondDantes 2920783
#25: * fix warning for end var
EdmondDantes 6b98adb
#23: + edge cases for fiber from spawn and spawn from fiber
EdmondDantes 077b2c6
Merge branch 'true-async-api' into true-async-api-stable
EdmondDantes d17f623
Add zend_future_t structure to async API
EdmondDantes e1e7d6c
Add zend_async_channel_t abstract structure to async API
EdmondDantes 94227f5
#13: Initial classes for Future
EdmondDantes 518b411
#13: Future methods
EdmondDantes bbed9c9
#31: * Fixed a memory leak when zend_async_resume_when fails.
EdmondDantes e5e9b2a
#31: + Added support for waiting on identical objects, even if they h…
EdmondDantes 9779f45
#31: + Fix MSVC C4200 warning: replace flexible array with MSVC-comp…
EdmondDantes 5822582
#32: + Cannot resume when there is an active exception in the engine.
EdmondDantes d5b7a74
Merge branch 'php:master' into true-async-api
EdmondDantes d3a5996
* remove CI pipe
EdmondDantes 67acaf0
Merge branch 'true-async-api-stable' into true-async-api
EdmondDantes 5f95318
Merge branch 'php:master' into true-async-api
EdmondDantes 6cebd7d
% update docs
EdmondDantes 8f4778f
* fix GC end var warning
EdmondDantes ebfecef
+ APIs for channels and futures have been added. The API for working …
EdmondDantes aadca21
% refactoring zend_async_resume_when with zend_exception_save/restore
EdmondDantes f7825de
* fix DOCS
EdmondDantes a2f97ca
+ Apply Clang format
EdmondDantes 805aa06
Merge branch 'php:master' into true-async-api
EdmondDantes eefe881
* fix This should be removed
EdmondDantes 3fc842a
* remove doc
EdmondDantes e32de6b
+ true async doc
EdmondDantes fdd756a
* rename dtor functions
EdmondDantes ef88e64
% Code refactoring according to the PR.
EdmondDantes 26f280a
Merge branch 'true-async-api-doc' into true-async-api
EdmondDantes 7b5ce94
% remove PHP_ASYNC_API ifdef
EdmondDantes 48f9e03
% remove PHP_ASYNC_API ifdef
EdmondDantes d0c6551
Merge branch 'php:master' into true-async-api
EdmondDantes dfc0d12
* fix docs
EdmondDantes 1aead24
% remove PHP_ASYNC_API
EdmondDantes a32b9c7
% remove zval_call_destructor
EdmondDantes e6b3181
* fix memleack gc
EdmondDantes 03e32c5
% update email
EdmondDantes 4310a08
* fix error: ‘end’ may be used uninitialized
EdmondDantes 9486c42
+ zend_async_init_internal_context_api early initialization of the as…
EdmondDantes 852e811
Merge branch 'php:master' into true-async-api
EdmondDantes 460e4fa
* fix zend_async_event_callback_new
EdmondDantes 50b16fc
* fix zend_async_coroutine_callback_new
EdmondDantes f7b02c3
* fix zend_async_coroutine_callback_new warning
EdmondDantes 20991b1
% remove CANCELLATION exception from PHPCore
EdmondDantes 3f050e9
Merge branch 'php:master' into true-async-api
EdmondDantes File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
+ enqueue_coroutine
- Loading branch information
commit 2896aecc116f9235b89a860ee5f407f7e493d6a0
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.