cvs: /php4 main.c php_globals.h
| From: | Sascha Schumann | Date: | Sat, 15 Jan 2000 13:31:02 +0000 |
| Subject: | cvs: /php4 main.c php_globals.h | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-9143@lists.php.net to get a copy of this message | ||
sas Sat Jan 15 05:31:02 2000 EDT
Modified files:
/php4 main.c php_globals.h
Log:
Initialize/destroy hook lists implicitly.
Index: php4/main.c
diff -u php4/main.c:1.172 php4/main.c:1.173
--- php4/main.c:1.172 Sat Jan 15 05:02:54 2000
+++ php4/main.c Sat Jan 15 05:30:32 2000
@@ -19,7 +19,7 @@
*/
-/* $Id: main.c,v 1.172 2000/01/15 13:02:54 thies Exp $ */
+/* $Id: main.c,v 1.173 2000/01/15 13:30:32 sas Exp $ */
#include <stdio.h>
@@ -663,26 +663,18 @@
static void php_execute_pre_request_shutdown(PLS_D)
{
- zend_llist_apply(&PG(ll_pre_request_shutdown), php_start_request_hook);
+ if (PG(pre_request_shutdown_ok)) {
+ zend_llist_apply(&PG(ll_pre_request_shutdown), php_start_request_hook);
+ zend_llist_destroy(&PG(ll_pre_request_shutdown));
+ }
}
static void php_execute_post_request_startup(PLS_D)
-{
- zend_llist_apply(&PG(ll_post_request_startup), php_start_request_hook);
-}
-
-static void php_destroy_request_hooks(void)
-{
- PLS_FETCH();
-
- zend_llist_destroy(&PG(ll_pre_request_shutdown));
- zend_llist_destroy(&PG(ll_post_request_startup));
-}
-
-static void php_init_request_hooks(PLS_D)
{
- zend_llist_init(&PG(ll_post_request_startup), sizeof(php_request_hook), NULL, 0);
- zend_llist_init(&PG(ll_pre_request_shutdown), sizeof(php_request_hook), NULL, 0);
+ if (PG(post_request_startup_ok)) {
+ zend_llist_apply(&PG(ll_post_request_startup), php_start_request_hook);
+ zend_llist_destroy(&PG(ll_post_request_startup));
+ }
}
void php_register_pre_request_shutdown(void (*func)(void *), void *userdata)
@@ -690,6 +682,11 @@
php_request_hook ptr;
PLS_FETCH();
+ if (!PG(pre_request_shutdown_ok)) {
+ zend_llist_init(&PG(ll_pre_request_shutdown), sizeof(php_request_hook), NULL, 0);
+ PG(pre_request_shutdown_ok) = 1;
+ }
+
ptr.func = func;
ptr.userdata = userdata;
@@ -701,6 +698,11 @@
php_request_hook ptr;
PLS_FETCH();
+ if (!PG(post_request_startup_ok)) {
+ zend_llist_init(&PG(ll_post_request_startup), sizeof(php_request_hook), NULL, 0);
+ PG(post_request_startup_ok) = 1;
+ }
+
ptr.func = func;
ptr.userdata = userdata;
@@ -712,7 +714,6 @@
global_lock();
php_output_startup();
- php_init_request_hooks(PLS_C);
#if APACHE
/*
@@ -802,7 +803,6 @@
zend_deactivate(CLS_C ELS_CC);
sapi_deactivate(SLS_C);
- php_destroy_request_hooks();
php_destroy_request_info(NULL);
shutdown_memory_manager(CG(unclean_shutdown), 0);
php_unset_timeout();
Index: php4/php_globals.h
diff -u php4/php_globals.h:1.33 php4/php_globals.h:1.34
--- php4/php_globals.h:1.33 Sat Jan 15 05:02:54 2000
+++ php4/php_globals.h Sat Jan 15 05:30:32 2000
@@ -98,6 +98,9 @@
zend_llist ll_post_request_startup;
zend_llist ll_pre_request_shutdown;
+
+ zend_bool post_request_startup_ok;
+ zend_bool pre_request_shutdown_ok;
};