From: Joe Orton Date: Mon, 1 Aug 2005 14:50:21 +0000 (+0000) Subject: * modules/ldap/util_ldap.c (util_ldap_post_config): Don't attempt to X-Git-Tag: 2.1.7~5^2~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01acb7f83641eb97da208b7f0a8a5253fbe068a1;p=thirdparty%2Fapache%2Fhttpd.git * modules/ldap/util_ldap.c (util_ldap_post_config): Don't attempt to remove the shm segment here. * modules/ldap/util_ldap_cache.c (util_ldap_cache_init): Properly remove the shm segment here before creating a new one; don't attach to any existing shm segment if apr_shm_create() fails. (util_ldap_cache_module_kill): Don't attempt to remove the shm segment here; apr_shm_destroy() does that anyway. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@226809 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index 6703df2ae48..6466a1733df 100644 --- a/modules/ldap/util_ldap.c +++ b/modules/ldap/util_ldap.c @@ -1817,7 +1817,6 @@ static int util_ldap_post_config(apr_pool_t *p, apr_pool_t *plog, if (st->cache_file) { char *lck_file = apr_pstrcat(st->pool, st->cache_file, ".lck", NULL); - apr_file_remove(st->cache_file, ptemp); apr_file_remove(lck_file, ptemp); } #endif diff --git a/modules/ldap/util_ldap_cache.c b/modules/ldap/util_ldap_cache.c index 62099748ef8..f4efde02166 100644 --- a/modules/ldap/util_ldap_cache.c +++ b/modules/ldap/util_ldap_cache.c @@ -391,9 +391,6 @@ static apr_status_t util_ldap_cache_module_kill(void *data) if (st->cache_shm != NULL) { apr_status_t result = apr_shm_destroy(st->cache_shm); st->cache_shm = NULL; - if (st->cache_file) { - apr_file_remove(st->cache_file, st->pool); - } return result; } #endif @@ -406,16 +403,12 @@ apr_status_t util_ldap_cache_init(apr_pool_t *pool, util_ldap_state_t *st) apr_status_t result; apr_size_t size; + /* Remove any existing shm segment with this name. */ + apr_shm_remove(st->cache_file, st->pool); + size = APR_ALIGN_DEFAULT(st->cache_bytes); result = apr_shm_create(&st->cache_shm, size, st->cache_file, st->pool); - if (result == APR_EEXIST) { - /* - * The cache could have already been created (i.e. we may be a child process). See - * if we can attach to the existing shared memory - */ - result = apr_shm_attach(&st->cache_shm, st->cache_file, st->pool); - } if (result != APR_SUCCESS) { return result; }