diff options
Diffstat (limited to 'eio-php83.patch')
-rw-r--r-- | eio-php83.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/eio-php83.patch b/eio-php83.patch new file mode 100644 index 0000000..522897c --- /dev/null +++ b/eio-php83.patch @@ -0,0 +1,28 @@ +diff --git a/php8/php_eio.c b/php8/php_eio.c +index e79d10f..c87ca82 100644 +--- a/php8/php_eio.c ++++ b/php8/php_eio.c +@@ -479,6 +479,10 @@ static void php_eio_custom_execute(eio_req *req) + ZVAL_NULL(&zarg); + } + ++#ifdef ZEND_CHECK_STACK_LIMIT ++ zend_call_stack_init(); ++#endif ++ + zend_call_method(Z_ISUNDEF(pf->obj) ? NULL : Z_OBJ_P(&pf->obj), pf->ce, &pf->func_ptr, + ZSTR_VAL(pf->func_ptr->common.function_name), + ZSTR_LEN(pf->func_ptr->common.function_name), +@@ -863,8 +867,11 @@ static inline void php_eio_init() + pid_t cur_pid = getpid(); + + if (php_eio_pid <= 0 || (php_eio_pid > 0 && cur_pid != php_eio_pid)) { +- /* Uninitialized or forked a process(which needs it's own eio pipe) */ ++#ifdef ZEND_CHECK_STACK_LIMIT ++ zend_call_stack_init(); ++#endif + ++ /* Uninitialized or forked a process(which needs it's own eio pipe) */ + if (php_eio_pipe_new()) { + php_error_docref(NULL, E_ERROR, + "Failed creating internal pipe: %s", strerror(errno)); |