]> granicus.if.org Git - apache/commitdiff
mod_slotmem_shm: follow up to r1702450.
authorYann Ylavic <ylavic@apache.org>
Tue, 15 Sep 2015 12:24:24 +0000 (12:24 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 15 Sep 2015 12:24:24 +0000 (12:24 +0000)
Make systems without unlink() semantic happy by destroying (detaching) the SHM
before removing the base file.
Windows is supposed to have the "delete on last handle closed" semantic but yet
fails here when this handle is owned by the same process (go figure!).

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

modules/slotmem/mod_slotmem_shm.c

index 29abe2b9a29103c9d37b49f341cf5277fba9e500..4f0eeeaeb91993dc66e0acd594cfcb6af708c813 100644 (file)
@@ -281,11 +281,11 @@ static apr_status_t cleanup_slotmem(void *param)
             if (AP_SLOTMEM_IS_PERSIST(next)) {
                 store_slotmem(next);
             }
+            apr_shm_destroy((apr_shm_t *)next->shm);
             if (next->fbased) {
                 apr_shm_remove(next->name, next->gpool);
                 apr_file_remove(next->name, next->gpool);
             }
-            apr_shm_destroy((apr_shm_t *)next->shm);
             next = next->next;
         }
     }