You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jk...@apache.org on 2015/06/10 12:43:54 UTC
svn commit: r1684636 - /httpd/httpd/trunk/modules/aaa/mod_auth_digest.c
Author: jkaluza
Date: Wed Jun 10 10:43:54 2015
New Revision: 1684636
URL: http://svn.apache.org/r1684636
Log:
* mod_auth_digest: Use anonymous shm by default, fall back on name-based.
Modified:
httpd/httpd/trunk/modules/aaa/mod_auth_digest.c
Modified: httpd/httpd/trunk/modules/aaa/mod_auth_digest.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/aaa/mod_auth_digest.c?rev=1684636&r1=1684635&r2=1684636&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/aaa/mod_auth_digest.c (original)
+++ httpd/httpd/trunk/modules/aaa/mod_auth_digest.c Wed Jun 10 10:43:54 2015
@@ -249,9 +249,18 @@ static int initialize_tables(server_rec
client_shm_filename = ap_runtime_dir_relative(ctx, "authdigest_shm");
client_shm_filename = ap_append_pid(ctx, client_shm_filename, ".");
- /* Now create that segment */
- sts = apr_shm_create(&client_shm, shmem_size,
- client_shm_filename, ctx);
+ /* Use anonymous shm by default, fall back on name-based. */
+ sts = apr_shm_create(&client_shm, shmem_size, NULL, ctx);
+ if (APR_STATUS_IS_ENOTIMPL(sts)) {
+ /* For a name-based segment, remove it first in case of a
+ * previous unclean shutdown. */
+ apr_shm_remove(client_shm_filename, ctx);
+
+ /* Now create that segment */
+ sts = apr_shm_create(&client_shm, shmem_size,
+ client_shm_filename, ctx);
+ }
+
if (APR_SUCCESS != sts) {
ap_log_error(APLOG_MARK, APLOG_ERR, sts, s, APLOGNO(01762)
"Failed to create shared memory segment on file %s",