mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
This happens because on ZTS we execute `executor_globals_ctor` which reset the `freelist` and `p5s` pointers, while on NTS we don't. On NTS we can reuse the caches but on ZTS we can't, the easiest fix is to call `zend_shutdown_strtod` when preloading is shut down. This regressed in GH-13974 and therefore only exists in PHP 8.4 and higher. Closes GH-16602.
21 lines
370 B
PHP
21 lines
370 B
PHP
--TEST--
|
|
GH-16577 (EG(strtod_state).freelist leaks with opcache.preload)
|
|
--INI--
|
|
opcache.enable=1
|
|
opcache.enable_cli=1
|
|
opcache.optimization_level=-1
|
|
opcache.preload={PWD}/gh16577.inc
|
|
--EXTENSIONS--
|
|
opcache
|
|
--SKIPIF--
|
|
<?php
|
|
if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
echo "Done\n";
|
|
?>
|
|
--EXPECT--
|
|
float(1.5)
|
|
Done
|