]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
remove locking for writing in mod_rewrite
authorJim Jagielski <jim@apache.org>
Fri, 10 Jul 2009 12:20:45 +0000 (12:20 +0000)
committerJim Jagielski <jim@apache.org>
Fri, 10 Jul 2009 12:20:45 +0000 (12:20 +0000)
PR 46942

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@792910 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/mappers/mod_rewrite.c

diff --git a/CHANGES b/CHANGES
index 7a1ddbc53c77bc3918334ba07e0db32c61549cc3..04c19eec979498f6d87553845c50e35773ede6c0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -27,6 +27,9 @@ Changes with Apache 2.2.12
      different security issues which may affect particular configurations
      and third-party modules.
 
+  *) mod_rewrite: Remove locking for writing to the rewritelog.
+     PR 46942
+
   *) mod_alias: Ensure Redirect emits HTTP-compliant URLs.
      PR 44020
 
diff --git a/STATUS b/STATUS
index f82731744ae4f650fbcc8ab18fbb6d18bdd8f7a5..6141d32f78c2697a9a7e52269786ffb714a2b950 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -101,12 +101,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
    +1: niq, rpluem, jim
    +0; [Would be +1 once ProxyRemote behavior is verified/fixed]
 
- * mod_rewrite: Remove locking for writing to the rewritelog.
-   PR 46942
-   trunk patch: http://svn.apache.org/viewvc?view=rev&revision=783734
-   2.2.x patch: http://people.apache.org/~niq/patches/46942.patch
-   +1: niq, rpluem, jim
-
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]
index af7fed74cb77cf109066af93df081e0a4c43554b..b9c8a51ff886b18507b0eeca2b51adf9f4c75b53 100644 (file)
@@ -374,10 +374,6 @@ static int rewrite_rand_init_done = 0;
 static const char *lockname;
 static apr_global_mutex_t *rewrite_mapr_lock_acquire = NULL;
 
-#ifndef REWRITELOG_DISABLED
-static apr_global_mutex_t *rewrite_log_lock = NULL;
-#endif
-
 /* Optional functions imported from mod_ssl when loaded: */
 static APR_OPTIONAL_FN_TYPE(ssl_var_lookup) *rewrite_ssl_lookup = NULL;
 static APR_OPTIONAL_FN_TYPE(ssl_is_https) *rewrite_is_https = NULL;
@@ -474,7 +470,6 @@ static void do_rewritelog(request_rec *r, int level, char *perdir,
     const char *rhost, *rname;
     apr_size_t nbytes;
     int redir;
-    apr_status_t rv;
     request_rec *req;
     va_list ap;
 
@@ -514,23 +509,9 @@ static void do_rewritelog(request_rec *r, int level, char *perdir,
                            perdir ? "] ": "",
                            text);
 
-    rv = apr_global_mutex_lock(rewrite_log_lock);
-    if (rv != APR_SUCCESS) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
-                      "apr_global_mutex_lock(rewrite_log_lock) failed");
-        /* XXX: Maybe this should be fatal? */
-    }
-
     nbytes = strlen(logline);
     apr_file_write(conf->rewritelogfp, logline, &nbytes);
 
-    rv = apr_global_mutex_unlock(rewrite_log_lock);
-    if (rv != APR_SUCCESS) {
-        ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
-                      "apr_global_mutex_unlock(rewrite_log_lock) failed");
-        /* XXX: Maybe this should be fatal? */
-    }
-
     return;
 }
 #endif /* !REWRITELOG_DISABLED */
@@ -4164,26 +4145,6 @@ static int post_config(apr_pool_t *p,
     /* check if proxy module is available */
     proxy_available = (ap_find_linked_module("mod_proxy.c") != NULL);
 
-#ifndef REWRITELOG_DISABLED
-    /* create the rewriting lockfiles in the parent */
-    if ((rv = apr_global_mutex_create(&rewrite_log_lock, NULL,
-                                      APR_LOCK_DEFAULT, p)) != APR_SUCCESS) {
-        ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s,
-                     "mod_rewrite: could not create rewrite_log_lock");
-        return HTTP_INTERNAL_SERVER_ERROR;
-    }
-
-#ifdef AP_NEED_SET_MUTEX_PERMS
-    rv = unixd_set_global_mutex_perms(rewrite_log_lock);
-    if (rv != APR_SUCCESS) {
-        ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s,
-                     "mod_rewrite: Could not set permissions on "
-                     "rewrite_log_lock; check User and Group directives");
-        return HTTP_INTERNAL_SERVER_ERROR;
-    }
-#endif /* perms */
-#endif /* rewritelog */
-
     rv = rewritelock_create(s, p);
     if (rv != APR_SUCCESS) {
         return HTTP_INTERNAL_SERVER_ERROR;
@@ -4230,14 +4191,6 @@ static void init_child(apr_pool_t *p, server_rec *s)
         }
     }
 
-#ifndef REWRITELOG_DISABLED
-    rv = apr_global_mutex_child_init(&rewrite_log_lock, NULL, p);
-    if (rv != APR_SUCCESS) {
-        ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s,
-                     "mod_rewrite: could not init rewrite log lock in child");
-    }
-#endif
-
     /* create the lookup cache */
     if (!init_cache(p)) {
         ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s,