Browse Source

Remove the post-startup callback support. Modules are now started only after

the entire engine is started.  People - please make sure that the session module
works properly for you.
PHP-4.0.5
Zeev Suraski 27 years ago
parent
commit
2dea694ab4
  1. 10
      ext/session/session.c
  2. 28
      main/main.c
  3. 1
      main/php.h
  4. 2
      main/php_globals.h

10
ext/session/session.c

@ -1177,12 +1177,6 @@ static void php_rshutdown_session_globals(PSLS_D)
zend_hash_destroy(&PS(vars));
}
void _php_session_auto_start(void *data)
{
PSLS_FETCH();
_php_session_start(PSLS_C);
}
void _php_session_shutdown(void *data)
{
@ -1207,9 +1201,7 @@ PHP_RINIT_FUNCTION(session)
return SUCCESS;
}
if (INI_INT("session.auto_start")) {
php_register_post_request_startup(_php_session_auto_start, NULL);
}
_php_session_start(PSLS_C);
php_register_pre_request_shutdown(_php_session_shutdown, NULL);

28
main/main.c

@ -670,14 +670,6 @@ static void php_execute_pre_request_shutdown(PLS_D)
}
}
static void php_execute_post_request_startup(PLS_D)
{
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));
PG(post_request_startup_ok) = 0;
}
}
void php_register_pre_request_shutdown(void (*func)(void *), void *userdata)
{
@ -695,21 +687,6 @@ void php_register_pre_request_shutdown(void (*func)(void *), void *userdata)
zend_llist_add_element(&PG(ll_pre_request_shutdown), &ptr);
}
void php_register_post_request_startup(void (*func)(void *), void *userdata)
{
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;
zend_llist_add_element(&PG(ll_post_request_startup), &ptr);
}
int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
{
@ -717,8 +694,6 @@ int php_request_startup(CLS_D ELS_DC PLS_DC SLS_DC)
php_output_startup();
PG(post_request_startup_ok) = PG(pre_request_shutdown_ok) = 0;
#if APACHE
/*
* For the Apache module version, this bit of code registers a cleanup
@ -796,6 +771,7 @@ void php_request_shutdown(void *dummy)
CLS_FETCH();
ELS_FETCH();
SLS_FETCH();
PLS_FETCH();
php_execute_pre_request_shutdown(PLS_C);
@ -1298,7 +1274,7 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
if (EG(main_op_array)) {
zend_hash_environment(PLS_C ELS_CC SLS_CC);
EG(active_op_array) = EG(main_op_array);
php_execute_post_request_startup(PLS_C);
zend_activate_modules();
zend_execute(EG(main_op_array) ELS_CC);
}
}

1
main/php.h

@ -319,7 +319,6 @@ int mergesort(void *base, size_t nmemb, register size_t size, int (*cmp) (const
/*from basic functions*/
extern PHPAPI int _php_error_log(int opt_err,char *message,char *opt,char *headers);
PHPAPI void php_register_post_request_startup(void (*func)(void *), void *userdata);
PHPAPI void php_register_pre_request_shutdown(void (*func)(void *), void *userdata);
PHPAPI int cfg_get_long(char *varname, long *result);

2
main/php_globals.h

@ -96,10 +96,8 @@ struct _php_core_globals {
unsigned char header_is_being_sent;
zend_llist ll_post_request_startup;
zend_llist ll_pre_request_shutdown;
zend_bool post_request_startup_ok;
zend_bool pre_request_shutdown_ok;
};

Loading…
Cancel
Save