summaryrefslogtreecommitdiff
path: root/include/util_mutex.h
diff options
context:
space:
mode:
authorJim Jagielski <jim@apache.org>2006-10-24 13:17:29 +0000
committerJim Jagielski <jim@apache.org>2006-10-24 13:17:29 +0000
commit707d1dabb908ca954b4a5a11aa6f998d76b07499 (patch)
tree72c7d65b98991a8e825caa45862150d7adb49f3d /include/util_mutex.h
parentae0b0e4d651bc8f8ff397ce24510bd1605225606 (diff)
downloadhttpd-707d1dabb908ca954b4a5a11aa6f998d76b07499.tar.gz
Once SSLMutex allowed for the setting of both the
locking method and the lockfile location, I never liked how AcceptMutex was linked to LockFile. This seemed unnecessary. Much better to have AcceptMutex do both as well. Plus, now that we will likely see other modules require a "standard" way of setting mutexes, why not have Apache provide that as an API of sorts. Anyway, LockFile is now depreciated and AcceptMutex is now SSLMutex-like. We also provide a short function that "parses" out a mutex parameter and strips out the mechanism and lockfile location. AcceptMutex and SSLMutex is this capability. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@467326 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/util_mutex.h')
-rw-r--r--include/util_mutex.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/include/util_mutex.h b/include/util_mutex.h
new file mode 100644
index 0000000000..1503800852
--- /dev/null
+++ b/include/util_mutex.h
@@ -0,0 +1,60 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @file util_mutex.h
+ * @brief Apache Mutex support library
+ *
+ * @defgroup APACHE_CORE_MUTEX Mutex Library
+ * @ingroup APACHE_CORE
+ * @{
+ */
+
+#ifndef UTIL_MUTEX_H
+#define UTIL_MUTEX_H
+
+#include "httpd.h"
+#include "apr_global_mutex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+AP_DECLARE_DATA extern const char ap_available_mutexes_string[];
+AP_DECLARE_DATA extern const char ap_all_available_mutexes_string[];
+
+/**
+ * Get Mutex config data and parse it
+ * @param arg The mutex config string
+ * @param pool The allocation pool
+ * @param mutexmech The APR mutex locking mechanism
+ * @param mutexfile The lockfile to use as required
+ * @return APR status code
+ * @deffunc apr_status_t ap_parse_mutex(const char *arg, apr_pool_t *pool,
+ apr_lockmech_e *mutexmech,
+ const char **mutexfile)
+ */
+AP_DECLARE(apr_status_t) ap_parse_mutex(const char *arg, apr_pool_t *pool,
+ apr_lockmech_e *mutexmech,
+ const char **mutexfile);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* UTIL_MUTEX_H */
+/** @} */