]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Open the lock database read-only when possible
authormanu <manu@unknown>
Fri, 11 Nov 2022 01:46:28 +0000 (01:46 +0000)
committermanu <manu@unknown>
Fri, 11 Nov 2022 01:46:28 +0000 (01:46 +0000)
The goal is to reduce lock contention, since a read access only
requires a shared lock. The improvement should not be significant
since for now we open and close the lock database on each HTTP
request.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1905229 13f79535-47bb-0310-9956-ffa450edef68

modules/dav/main/mod_dav.c

index 2676b835ee77da7351ac69ec85b38890c4b35e4b..ea87317c3f9befa236514f88275f05824f140497 100644 (file)
@@ -1458,8 +1458,7 @@ static dav_error *dav_gen_supported_live_props(request_rec *r,
     dav_error *err;
 
     /* open lock database, to report on supported lock properties */
-    /* ### should open read-only */
-    if ((err = dav_open_lockdb(r, 0, &lockdb)) != NULL) {
+    if ((err = dav_open_lockdb(r, 1, &lockdb)) != NULL) {
         return dav_push_error(r->pool, err->status, 0,
                               "The lock database could not be opened, "
                               "preventing the reporting of supported lock "
@@ -2242,8 +2241,7 @@ static int dav_method_propfind(request_rec *r)
     apr_pool_create(&ctx.scratchpool, r->pool);
     apr_pool_tag(ctx.scratchpool, "mod_dav-scratch");
 
-    /* ### should open read-only */
-    if ((err = dav_open_lockdb(r, 0, &ctx.w.lockdb)) != NULL) {
+    if ((err = dav_open_lockdb(r, 1, &ctx.w.lockdb)) != NULL) {
         err = dav_push_error(r->pool, err->status, 0,
                              "The lock database could not be opened, "
                              "preventing access to the various lock "