From: William A. Rowe Jr Date: Fri, 28 Mar 2003 00:43:26 +0000 (+0000) Subject: Per JimJ's review - we prefer posix over semv, fcntl over flock, X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ddd27f9ffb022e1fe78f3ba8a1b284cefe4b0ac2;p=thirdparty%2Fapache%2Fhttpd.git Per JimJ's review - we prefer posix over semv, fcntl over flock, and semv requires no file. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/ssl@99100 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/ssl_engine_config.c b/ssl_engine_config.c index f9ceb413150..6b4e87eed2c 100644 --- a/ssl_engine_config.c +++ b/ssl_engine_config.c @@ -405,55 +405,39 @@ const char *ssl_cmd_SSLMutex(cmd_parms *cmd, if (!strcasecmp(meth, "default") || !strcasecmp(meth, "yes")) { mc->nMutexMech = APR_LOCK_DEFAULT; } -#if APR_HAS_FLOCK_SERIALIZE - else if (!strcasecmp(meth, "flock") && file) { - mc->nMutexMech = APR_LOCK_FLOCK; - } -#endif #if APR_HAS_FCNTL_SERIALIZE - else if (!strcasecmp(meth, "fcntl") && file) { + else if ((!strcasecmp(meth, "fcntl") || !strcasecmp(meth, "file")) && file) { mc->nMutexMech = APR_LOCK_FCNTL; } #endif -#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM) - else if (!strcasecmp(meth, "sysvsem") && file) { - mc->nMutexMech = APR_LOCK_SYSVSEM; +#if APR_HAS_FLOCK_SERIALIZE + else if ((!strcasecmp(meth, "flock") || !strcasecmp(meth, "file")) && file) { + mc->nMutexMech = APR_LOCK_FLOCK; } #endif #if APR_HAS_POSIXSEM_SERIALIZE - else if (!strcasecmp(meth, "posixsem")) { + else if (!strcasecmp(meth, "posixsem") || !strcasecmp(meth, "sem")) { mc->nMutexMech = APR_LOCK_POSIXSEM; - mc->szMutexFile = apr_pstrdup(cmd->server->process->pool, file); - file = NULL; + /* Posix/SysV semaphores aren't file based, use the literal name + * if provided and fall back on APR's default if not. Today, APR + * will ignore it, but once supported it has an absurdly short limit. + */ + if (file) { + mc->szMutexFile = apr_pstrdup(cmd->server->process->pool, file); + + file = NULL; + } + } +#endif +#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM) + else if (!strcasecmp(meth, "sysvsem") || !strcasecmp(meth, "sem")) { + mc->nMutexMech = APR_LOCK_SYSVSEM; } #endif #if APR_HAS_PROC_PTHREAD_SERIALIZE else if (!strcasecmp(meth, "pthread")) { mc->nMutexMech = APR_LOCK_PROC_PTHREAD; } -#endif -#if APR_HAS_FLOCK_SERIALIZE - else if (!strcasecmp(meth, "file") && file) { - mc->nMutexMech = APR_LOCK_FLOCK; - } -#elif APR_HAS_FCNTL_SERIALIZE - else if (!strcasecmp(meth, "file") && file) { - mc->nMutexMech = APR_LOCK_FCNTL; - } -#endif -#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM) - else if (!strcasecmp(meth, "sem")) { - mc->nMutexMech = APR_LOCK_SYSVSEM; - } -#elif APR_HAS_POSIXSEM_SERIALIZE - else if (!strcasecmp(meth, "sem")) { - mc->nMutexMech = APR_LOCK_POSIXSEM; - /* Posix/SysV semaphores aren't file based, use the literal name - * if provided and fall back on APR's default if not. - */ - mc->szMutexFile = apr_pstrdup(cmd->server->process->pool, file); - file = NULL; - } #endif else { return apr_pstrcat(cmd->pool, "Invalid SSLMutex argument ", arg_,