diff options
| author | Zeev Suraski <zeev@php.net> | 2000-01-16 21:03:49 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-01-16 21:03:49 +0000 |
| commit | ec386cc9fde380aaa4af823e75950365d8bb98da (patch) | |
| tree | db5d70c7d4e3d76e90c0e92e532b6e8af2053ea1 /ext | |
| parent | ee08b81aabcbc65c9b10b535f028b3654b732e4a (diff) | |
| download | php-git-ec386cc9fde380aaa4af823e75950365d8bb98da.tar.gz | |
- Remove the pre-request-shutdown hooks, they should no longer be necessary.
The session module may not work due to an unknown (and until now, IMO, misdiagnosed) problem,
if it does, please report it!
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/odbc/php_odbc.c | 10 | ||||
| -rw-r--r-- | ext/session/session.c | 29 |
2 files changed, 24 insertions, 15 deletions
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index aaa31503fc..a8944fb06b 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -410,7 +410,9 @@ PHP_MINIT_FUNCTION(odbc) return SUCCESS; } -void _php_odbc_shutdown(void *data) + +#if 0 +static void _php_odbc_shutdown(void *data) { ELS_FETCH(); @@ -421,6 +423,8 @@ void _php_odbc_shutdown(void *data) zend_hash_apply(&EG(regular_list), (int (*)(void *)) _odbc_stmt_cleanup); } +#endif + PHP_RINIT_FUNCTION(odbc) { @@ -429,7 +433,9 @@ PHP_RINIT_FUNCTION(odbc) ODBCG(defConn) = -1; ODBCG(num_links) = ODBCG(num_persistent); - php_register_pre_request_shutdown(_php_odbc_shutdown, NULL); + /* This should no longer be necessary, as hash_apply() is reentrant + * php_register_pre_request_shutdown(_php_odbc_shutdown, NULL); + */ return SUCCESS; } diff --git a/ext/session/session.c b/ext/session/session.c index 5d7bdb77a2..4608e8e49e 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -101,6 +101,7 @@ const static ps_serializer ps_serializers[] = { PHP_MINIT_FUNCTION(session); PHP_RINIT_FUNCTION(session); PHP_MSHUTDOWN_FUNCTION(session); +PHP_RSHUTDOWN_FUNCTION(session); PHP_MINFO_FUNCTION(session); static void php_rinit_session_globals(PSLS_D); @@ -110,7 +111,7 @@ zend_module_entry session_module_entry = { "Session Management", session_functions, PHP_MINIT(session), PHP_MSHUTDOWN(session), - PHP_RINIT(session), NULL, + PHP_RINIT(session), PHP_RSHUTDOWN(session), PHP_MINFO(session), STANDARD_MODULE_PROPERTIES, }; @@ -1178,17 +1179,6 @@ static void php_rshutdown_session_globals(PSLS_D) } -void _php_session_shutdown(void *data) -{ - PSLS_FETCH(); - - if(PS(nr_open_sessions) > 0) { - _php_session_save_current_state(PSLS_C); - PS(nr_open_sessions)--; - } - php_rshutdown_session_globals(PSLS_C); -} - PHP_RINIT_FUNCTION(session) { PSLS_FETCH(); @@ -1206,11 +1196,24 @@ PHP_RINIT_FUNCTION(session) _php_session_start(PSLS_C); } - php_register_pre_request_shutdown(_php_session_shutdown, NULL); + return SUCCESS; +} + +PHP_RSHUTDOWN_FUNCTION(session) +{ + PSLS_FETCH(); + + if(PS(nr_open_sessions) > 0) { + _php_session_save_current_state(PSLS_C); + PS(nr_open_sessions)--; + } + php_rshutdown_session_globals(PSLS_C); return SUCCESS; } + + PHP_MINIT_FUNCTION(session) { #ifdef ZTS |
