]> granicus.if.org Git - php/commitdiff
fix crash on shutdown on Win32
authorAntony Dovgal <tony2001@php.net>
Thu, 28 Jun 2007 17:22:56 +0000 (17:22 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 28 Jun 2007 17:22:56 +0000 (17:22 +0000)
patch by Scott

sapi/apache2handler/sapi_apache2.c

index 1ee58e4936cff9566190974d3f38fd89216dcc71..08f4e34d3232865a165ae78ca3dec2b3fcecd164 100644 (file)
@@ -349,8 +349,7 @@ static sapi_module_struct apache2_sapi_module = {
        STANDARD_SAPI_MODULE_PROPERTIES
 };
 
-static apr_status_t
-php_apache_server_shutdown(void *tmp)
+static apr_status_t php_apache_server_shutdown(void *tmp)
 {
        apache2_sapi_module.shutdown(&apache2_sapi_module);
        sapi_shutdown();
@@ -360,6 +359,15 @@ php_apache_server_shutdown(void *tmp)
        return APR_SUCCESS;
 }
 
+static apr_status_t php_apache_child_shutdown(void *tmp)
+{
+       apache2_sapi_module.shutdown(&apache2_sapi_module);
+#if defined(ZTS) && !defined(PHP_WIN32)
+       tsrm_shutdown();
+#endif
+       return APR_SUCCESS;
+}
+
 static void php_apache_add_version(apr_pool_t *p)
 {
        TSRMLS_FETCH();
@@ -648,7 +656,7 @@ zend_first_try {
 
 static void php_apache_child_init(apr_pool_t *pchild, server_rec *s)
 {
-       apr_pool_cleanup_register(pchild, NULL, php_apache_server_shutdown, apr_pool_cleanup_null);
+       apr_pool_cleanup_register(pchild, NULL, php_apache_child_shutdown, apr_pool_cleanup_null);
 }
 
 void php_ap2_register_hook(apr_pool_t *p)