From 7528240b85a4067b4aed88e21717fd1091cc74a7 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 25 Jun 2008 12:18:51 +0000 Subject: [PATCH] Fixed bug #45352 (Segmentation fault because of tick function on second request) --- main/main.c | 2 ++ main/php_ticks.c | 5 +++++ main/php_ticks.h | 1 + 3 files changed, 8 insertions(+) diff --git a/main/main.c b/main/main.c index fecbfd3d5c..3582d41a50 100644 --- a/main/main.c +++ b/main/main.c @@ -1577,6 +1577,8 @@ void php_request_shutdown(void *dummy) EG(opline_ptr) = NULL; EG(active_op_array) = NULL; + php_deactivate_ticks(TSRMLS_C); + /* 1. Call all possible __destruct() functions */ zend_try { zend_call_destructors(TSRMLS_C); diff --git a/main/php_ticks.c b/main/php_ticks.c index c9fa5e4e9b..ffc1dabf59 100644 --- a/main/php_ticks.c +++ b/main/php_ticks.c @@ -27,6 +27,11 @@ int php_startup_ticks(TSRMLS_D) return SUCCESS; } +void php_deactivate_ticks(TSRMLS_D) +{ + zend_llist_clean(&PG(tick_functions)); +} + void php_shutdown_ticks(TSRMLS_D) { zend_llist_destroy(&PG(tick_functions)); diff --git a/main/php_ticks.h b/main/php_ticks.h index d3d0ae1509..9dc930746f 100644 --- a/main/php_ticks.h +++ b/main/php_ticks.h @@ -22,6 +22,7 @@ #define PHP_TICKS_H int php_startup_ticks(TSRMLS_D); +void php_deactivate_ticks(TSRMLS_D); void php_shutdown_ticks(TSRMLS_D); void php_run_ticks(int count); -- 2.50.1