Zend/zend_fibers: change return value to zend_result

According to @nikic:

> The current guideline for use of bool and zend_result in php-src is
> that bool is an appropriate return value for "is" or "has" style
> functions, which return a yes/no answer. zend_result is an
> appropriate return value for functions that perform some operation
> that may succeed or fail.

Closes GH-10622.
This commit is contained in:
Max Kellermann 2023-02-19 09:29:15 +01:00 committed by David Carlier
parent 81e59c6497
commit 371ae12d89
3 changed files with 8 additions and 5 deletions

View file

@ -34,6 +34,9 @@ PHP 8.3 INTERNALS UPGRADE NOTES
the class table. zend_register_class_alias_ex() will not increase the class table. zend_register_class_alias_ex() will not increase
the refcount for class aliases and the cleanup function takes this the refcount for class aliases and the cleanup function takes this
into account. into account.
* The return types of the following functions have been changed from
`bool` to `zend_result`:
- zend_fiber_init_context()
======================== ========================
2. Build system changes 2. Build system changes

View file

@ -394,12 +394,12 @@ ZEND_API bool zend_fiber_switch_blocked(void)
return zend_fiber_switch_blocking; return zend_fiber_switch_blocking;
} }
ZEND_API bool zend_fiber_init_context(zend_fiber_context *context, void *kind, zend_fiber_coroutine coroutine, size_t stack_size) ZEND_API zend_result zend_fiber_init_context(zend_fiber_context *context, void *kind, zend_fiber_coroutine coroutine, size_t stack_size)
{ {
context->stack = zend_fiber_stack_allocate(stack_size); context->stack = zend_fiber_stack_allocate(stack_size);
if (UNEXPECTED(!context->stack)) { if (UNEXPECTED(!context->stack)) {
return false; return FAILURE;
} }
#ifdef ZEND_FIBER_UCONTEXT #ifdef ZEND_FIBER_UCONTEXT
@ -438,7 +438,7 @@ ZEND_API bool zend_fiber_init_context(zend_fiber_context *context, void *kind, z
zend_observer_fiber_init_notify(context); zend_observer_fiber_init_notify(context);
return true; return SUCCESS;
} }
ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context) ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context)
@ -812,7 +812,7 @@ ZEND_METHOD(Fiber, start)
RETURN_THROWS(); RETURN_THROWS();
} }
if (!zend_fiber_init_context(&fiber->context, zend_ce_fiber, zend_fiber_execute, EG(fiber_stack_size))) { if (zend_fiber_init_context(&fiber->context, zend_ce_fiber, zend_fiber_execute, EG(fiber_stack_size)) == FAILURE) {
RETURN_THROWS(); RETURN_THROWS();
} }

View file

@ -133,7 +133,7 @@ struct _zend_fiber {
}; };
/* These functions may be used to create custom fiber objects using the bundled fiber switching context. */ /* These functions may be used to create custom fiber objects using the bundled fiber switching context. */
ZEND_API bool zend_fiber_init_context(zend_fiber_context *context, void *kind, zend_fiber_coroutine coroutine, size_t stack_size); ZEND_API zend_result zend_fiber_init_context(zend_fiber_context *context, void *kind, zend_fiber_coroutine coroutine, size_t stack_size);
ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context); ZEND_API void zend_fiber_destroy_context(zend_fiber_context *context);
ZEND_API void zend_fiber_switch_context(zend_fiber_transfer *transfer); ZEND_API void zend_fiber_switch_context(zend_fiber_transfer *transfer);
#ifdef ZEND_CHECK_STACK_LIMIT #ifdef ZEND_CHECK_STACK_LIMIT