File php5-apache24-updates.patch of Package php5

commit 918a01f55b5e0a82c1a2e886143a56eddffe6649
Author: Cristian Rodríguez <crrodriguez@opensuse.org>
Date:   Wed Aug 8 19:30:04 2012 +0200

    sapi/apache2*: Use ap_state_query where possible instead of old method of creating a pool userdata entry.

diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c
index a8fec5c..21f2fa3 100644
--- a/sapi/apache2filter/sapi_apache2.c
+++ b/sapi/apache2filter/sapi_apache2.c
@@ -606,11 +606,17 @@ static int
 php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog,
                           apr_pool_t *ptemp, server_rec *s)
 {
+
+#if AP_MODULE_MAGIC_AT_LEAST(20110203,1)
+        /* Apache will load, unload and then reload a DSO module. This
+         * prevents us from starting PHP until the second load. */
+         if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) {
+                return OK;
+         }
+#else
 	void *data = NULL;
 	const char *userdata_key = "apache2filter_post_config";
 
-	/* Apache will load, unload and then reload a DSO module. This
-	 * prevents us from starting PHP until the second load. */
 	apr_pool_userdata_get(&data, userdata_key, s->process->pool);
 	if (data == NULL) {
 		/* We must use set() here and *not* setn(), otherwise the
@@ -622,6 +628,7 @@ php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog,
 							  apr_pool_cleanup_null, s->process->pool);
 		return OK;
 	}
+#endif
 
 	/* Set up our overridden path. */
 	if (apache2_php_ini_path_override) {
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index 900a3a4..a578740 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -430,12 +430,19 @@ static int php_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp
 static int
 php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 {
-	void *data = NULL;
-	const char *userdata_key = "apache2hook_post_config";
 
+#if AP_MODULE_MAGIC_AT_LEAST(20110203,1)
 	/* Apache will load, unload and then reload a DSO module. This
 	 * prevents us from starting PHP until the second load. */
+	 if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) {
+		return OK;
+	 }
+#else
+	void *data = NULL;
+	const char *userdata_key = "apache2hook_post_config";
+	
 	apr_pool_userdata_get(&data, userdata_key, s->process->pool);
+	
 	if (data == NULL) {
 		/* We must use set() here and *not* setn(), otherwise the
 		 * static string pointed to by userdata_key will be mapped
@@ -445,6 +452,7 @@ php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp
 		apr_pool_userdata_set((const void *)1, userdata_key, apr_pool_cleanup_null, s->process->pool);
 		return OK;
 	}
+#endif
 
 	/* Set up our overridden path. */
 	if (apache2_php_ini_path_override) {
openSUSE Build Service is sponsored by