#
e2e770c4 |
| 05-Jun-2021 |
twosee |
Fix undefined return value of fiber after bailout (#7103)
|
#
42dbd1f0 |
| 05-Jun-2021 |
Aaron Piotrowski |
Improve Fiber::getReturn() Allows flags besides ZEND_FIBER_FLAG_THREW to be set without causing this method to throw. The method will not be called after a bailout, so the ZEND_FIBE
Improve Fiber::getReturn() Allows flags besides ZEND_FIBER_FLAG_THREW to be set without causing this method to throw. The method will not be called after a bailout, so the ZEND_FIBER_FLAG_BAILOUT case was removed.
show more ...
|
#
a65989b1 |
| 05-Jun-2021 |
Martin Schröder <53789145+kooldev@users.noreply.github.com> |
Alternative Fiber Internals Refactoring (#7101)
|
#
d2e52038 |
| 03-Jun-2021 |
Aaron Piotrowski |
Split fiber status and flags (#7094) Co-Authored-By: twosee <twose@qq.com>
|
Revision tags: php-8.0.7, php-7.4.20 |
|
#
7e11b4d3 |
| 28-May-2021 |
twosee |
Improve memory allocation related code in zend_fibers (#7058) - make_fcontext() never returns NULL. - Show syscall error info in exception just like zend_alloc does (we also used php_win
Improve memory allocation related code in zend_fibers (#7058) - make_fcontext() never returns NULL. - Show syscall error info in exception just like zend_alloc does (we also used php_win32_error_*() in Zend). - MAP_ANON was marked as deprecated or compatibility macro on Linux, It would be better to use MAP_ANONYMOUS first. - Makes the code consistent with the code of other modules in the kernel. - adds some comments.
show more ...
|
#
795efd76 |
| 27-May-2021 |
twosee |
Add zend_getpagesize() and reuse it in accelerator and fiber (#7057)
|
#
3939c9b0 |
| 27-May-2021 |
Aaron Piotrowski |
Add internal Fiber API (#7045) This additional internal fiber API creates and manipulates a Fiber object, allowing any internal function to start, resume, or suspend a fiber. The existing ze
Add internal Fiber API (#7045) This additional internal fiber API creates and manipulates a Fiber object, allowing any internal function to start, resume, or suspend a fiber. The existing zend_fiber_context API allows custom C-based fiber creation using the bundled switching context, but does not interact with the PHP VM. This API behaves the same as calling Fiber object methods from user code, switching EGs, and triggering the fiber switch observer. In general, the Fiber object methods call these new API methods.
show more ...
|
#
0e2ac303 |
| 27-May-2021 |
twosee |
Use ZEND_WIN32 instead of PHP_WIN32 (#7055)
|
Revision tags: php-8.0.7RC1, php-7.4.20RC1 |
|
#
3c3ec441 |
| 09-May-2021 |
Aaron Piotrowski |
Move fiber stack allocation within try If VM stack allocation fails, the bailout will be caught within the fiber.
|
#
5fb03758 |
| 08-May-2021 |
Aaron Piotrowski |
Rename sanitizer members for clarity These members hold the prior stack pointer and size, so bottom and capacity were poor name choices, prior_pointer and prior_size are more clear.
|
#
af290596 |
| 07-May-2021 |
Aaron Piotrowski |
Add sanitizer fiber switching support
|
#
ccc069d0 |
| 06-May-2021 |
Aaron Piotrowski |
Catch and repeat zend_bailout in fibers This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switch
Catch and repeat zend_bailout in fibers This removes switching to main for fatal errors in fibers in favor of catching any zend_bailout in a fiber and calling zend_bailout again after switching to the previous fiber or {main}.
show more ...
|
#
779fe8e4 |
| 05-May-2021 |
Aaron Piotrowski |
Check current_execute_data instead of flags in fiber destructor Checking EG(current_exectue_data) throws into the previous fiber instead of triggering a fatal error during shutdown. A fatal
Check current_execute_data instead of flags in fiber destructor Checking EG(current_exectue_data) throws into the previous fiber instead of triggering a fatal error during shutdown. A fatal error is triggered only if the throwing destroyed fiber was resumed from {main}.
show more ...
|
#
fb374f56 |
| 05-May-2021 |
Nikita Popov |
Rethrow exceptions in fiber destructor We need to make sure that HANDLE_EXCEPTION is set when the fiber throws during destruction. Fixes oss-fuzz #33875.
|
Revision tags: php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5 |
|
#
810fb59f |
| 26-Apr-2021 |
Aaron Piotrowski |
Improve fiber backtraces The start/resume/throw execute_data is now attached as the prev_execute_data to the bottom frame of the fiber stack when the fiber is running.
|
#
f3465e67 |
| 30-Apr-2021 |
Aaron Piotrowski |
Minor fiber fixes Assert error is fatal when calling zend_error_suspend_fiber. Added missing static. Removed .S extension from output of configure.
|
#
41666532 |
| 30-Apr-2021 |
Aaron Piotrowski |
Fix exception thrown during fiber destruction Previously an exception thrown during fiber destruction resulted in a fatal error, but that exception should be able to be caught (unless we’ve
Fix exception thrown during fiber destruction Previously an exception thrown during fiber destruction resulted in a fatal error, but that exception should be able to be caught (unless we’ve entered shutdown, then still use a fatal error so the error is not hidden).
show more ...
|
#
e8e7c04a |
| 29-Apr-2021 |
Nikita Popov |
Use common struct to store error information This is needed by both fibers and opcache (and GH-6903 also uses it), so make it a common structure that can be used by any functionality
Use common struct to store error information This is needed by both fibers and opcache (and GH-6903 also uses it), so make it a common structure that can be used by any functionality storing warnings/errors.
show more ...
|
#
c276c16b |
| 26-Apr-2021 |
Aaron Piotrowski |
Implement Fibers RFC: https://wiki.php.net/rfc/fibers Closes GH-6875.
|