summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/basic_functions.c13
-rw-r--r--ext/standard/tests/general_functions/bug70249.phpt28
2 files changed, 3 insertions, 38 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 1c5f3fe988..8da45c4287 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -5002,16 +5002,9 @@ PHPAPI void php_call_shutdown_functions(void) /* {{{ */
{
if (BG(user_shutdown_function_names)) {
zend_try {
- zval *entry;
- for (zend_hash_internal_pointer_reset(BG(user_shutdown_function_names));
- zend_hash_has_more_elements(BG(user_shutdown_function_names)) == SUCCESS;
- zend_hash_move_forward(BG(user_shutdown_function_names))) {
- if ((entry = zend_hash_get_current_data(BG(user_shutdown_function_names))) == NULL) {
- continue;
- }
- user_shutdown_function_call(entry);
- }
- } zend_end_try();
+ zend_hash_apply(BG(user_shutdown_function_names), user_shutdown_function_call);
+ }
+ zend_end_try();
php_free_shutdown_functions();
}
}
diff --git a/ext/standard/tests/general_functions/bug70249.phpt b/ext/standard/tests/general_functions/bug70249.phpt
deleted file mode 100644
index aed8dccee3..0000000000
--- a/ext/standard/tests/general_functions/bug70249.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-Bug #70249 (Segmentation fault while running PHPUnit tests on phpBB 3.2-dev)
---FILE--
-<?php
-
-class Logger {
- public function __construct() {
- register_shutdown_function(function () {
- // make regular flush before other shutdown functions, which allows session data collection and so on
- $this->flush();
- // make sure log entries written by shutdown functions are also flushed
- // ensure "flush()" is called last when there are multiple shutdown functions
- register_shutdown_function([$this, 'flush'], true);
- });
- }
-
- public function flush($final = false) {
- return 1;
- }
-}
-
-for ($i = 0; $i < 200; $i++) {
- $a = new Logger();
-}
-?>
-okey
---EXPECT--
-okey