Commit 0c2444643e8 for php

commit 0c2444643e866da1fe219acd079464006e350531
Merge: 7f5658403c5 3cab493029a
Author: Arnaud Le Blanc <arnaud.lb@gmail.com>
Date:   Fri Sep 25 15:32:14 2026 +0200

    Merge branch 'PHP-8.5' into PHP-8.6

    * PHP-8.5:
      ext/pcntl: do not drop queued signals when an exception is pending (#23624)

diff --cc NEWS
index 0d1d864e52a,cc86e4e8be3..40bc06f89e2
--- a/NEWS
+++ b/NEWS
@@@ -1,37 -1,16 +1,43 @@@
  PHP                                                                        NEWS
  |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 -?? ??? ????, PHP 8.5.12
 +?? ??? ????, PHP 8.6.0RC3

  - Core:
 -  . Fixed bug GH-23644 (Optimizer leaves a constant-vs-constant comparison
 -    unfolded, crashing the VM in zval_undefined_cv). (ndossche)
 -  . Fixed OSS-Fuzz 532353396 (assertion failure with static type). (Girgias)
 -  . Fix GH-23662 (Avoid NAN warning in print_r()). (CodedByManish)
 -  . Fix GH-21999: GC inconsistency with lazy object, var_dump(), and object
 -    comparison. (Arnaud)
    . Fixed OSS-Fuzz #536440507 (Immutable class incorrect assertion).
      (ndossche)
 +  . Fixed bug GH-23628 (Tracing JIT reads undefined property slots of lazy
 +    proxy objects instead of forwarding to the real instance). (lisachenko)
 +  . Fixed bug GH-23882 (array_map() optimization is incorrect for
 +    strict_types=1). (timwolla)
 +  . Fixed OSS-Fuzz #565486253 (coerced arg with '...' on non-variadic
 +    function). (ndossche)
 +
 +- Opcache:
 +  . Fix zend_analyze_calls() call_stack buffer overrun. (Mrmaxmeier)
 +  . Fixed bug GH-23679 (Tracing JIT writes a parent private property into a
 +    child's shadowing public property). (Ilia Alshanetsky)
 +
++- PCNTL:
++  . Fixed pcntl_signal_dispatch() dropping the queued signals when it runs while
++    an exception is pending. (nicolas-grekas)
++  . Fixed pcntl_signal_dispatch() dropping the signals queued behind a handler
++    that throws. (nicolas-grekas)
++
 +24 Sep 2026, PHP 8.6.0RC2
 +
 +- Core:
 +  . Fixed incorrect internal pointer and foreach iterator positions when
 +    compacting arrays with holes. (Weilin Du)
 +  . Fix handling of references to typed properties during unserialization
 +    of various internal classes. (ndossche, timwolla)
 +  . Fixed OSS-Fuzz 532353396 (assertion	failure	with static type). (Girgias)
 +  . Fix GH-23662 (Avoid NAN warning in print_r()). (CodedByManish)
 +  . Fixed bug GH-23752 (Use scoped diagnostic suppression for the global
 +    register declarations so the caller's -Wvolatile-register-var state is
 +    restored). (yqtian-se)
 +  . Fixed OSS-Fuzz #538730793 (Assertion failure when returning by-ref from
 +    closure invoke). (ndossche)
 +  . Fixed OSS-Fuzz #540904105 (ASSERT: ast->attr == T_CLASS_C). (ndossche)

  - CLI
    . Fix GH-22567 (Windows ZTS CLI SAPI should refresh its TSRMLS cache during
diff --cc ext/pcntl/pcntl.c
index 265b47e52dc,52beffd1c6e..38e6c4ae2bc
--- a/ext/pcntl/pcntl.c
+++ b/ext/pcntl/pcntl.c
@@@ -1390,11 -1429,10 +1410,9 @@@ void pcntl_signal_dispatch(void
  				/* Call php signal handler - Note that we do not report errors, and we ignore the return value */
  				call_user_function(NULL, NULL, handle, &retval, 2, params);
  				zval_ptr_dtor(&retval);
 -#ifdef HAVE_STRUCT_SIGINFO_T
  				zval_ptr_dtor(&params[1]);
 -#endif
 +
- 				if (EG(exception)) {
- 					break;
- 				}
+ 				handler_threw = NULL != EG(exception);
  			}
  		}

diff --cc ext/zend_test/test.c
index 82bfa8d38e3,e1db746297f..4853e1f61e7
--- a/ext/zend_test/test.c
+++ b/ext/zend_test/test.c
@@@ -38,9 -41,9 +38,11 @@@
  #include "zend_exceptions.h"
  #include "zend_mm_custom_handlers.h"
  #include "ext/uri/php_uri.h"
 +#include "zend_observer.h"
 +#include "test_decl.h"

+ #include <signal.h>
+
  #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
  # include <libxml/globals.h>
  # include <libxml/parser.h>
diff --cc ext/zend_test/test_arginfo.h
index f3901c9b733,d605cff30ef..d01e3d036c7
Binary files differ
diff --cc ext/zend_test/test_decl.h
index 7e41dc18eab,00000000000..d2bc04df8f4
mode 100644,000000..100644
Binary files differ
diff --cc ext/zend_test/test_legacy_arginfo.h
index d9a7709ab22,00000000000..e12e72eb6d2
mode 100644,000000..100644
Binary files differ