Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
apr_thread_mutex.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef APR_THREAD_MUTEX_H
18 #define APR_THREAD_MUTEX_H
19 
25 #include "apr.h"
26 #include "apr_errno.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* __cplusplus */
31 
32 #if APR_HAS_THREADS || defined(DOXYGEN)
33 
42 
43 #define APR_THREAD_MUTEX_DEFAULT 0x0
44 #define APR_THREAD_MUTEX_NESTED 0x1
45 #define APR_THREAD_MUTEX_UNNESTED 0x2
46 #define APR_THREAD_MUTEX_TIMED 0x4
48 /* Delayed the include to avoid a circular reference */
49 #include "apr_pools.h"
50 #include "apr_time.h"
51 
68  unsigned int flags,
69  apr_pool_t *pool);
76 
85 
94  apr_time_t timeout,
95  int absolute);
96 
102 
108 
113 APR_POOL_DECLARE_ACCESSOR(thread_mutex);
114 
115 #endif /* APR_HAS_THREADS */
116 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif /* ! APR_THREAD_MUTEX_H */
apr_status_t apr_thread_mutex_lock(apr_thread_mutex_t *mutex)
Definition: apr_arch_thread_mutex.h:28
apr_bucket_brigade request_rec apr_pool_t * pool
Definition: mod_dav.h:556
APR_POOL_DECLARE_ACCESSOR(thread_mutex)
apr_status_t apr_thread_mutex_create(apr_thread_mutex_t **mutex, unsigned int flags, apr_pool_t *pool)
apr_int64_t apr_time_t
Definition: apr_time.h:45
APR memory allocation.
apr_status_t apr_thread_mutex_destroy(apr_thread_mutex_t *mutex)
APR Error Codes.
apr_status_t apr_thread_mutex_unlock(apr_thread_mutex_t *mutex)
APR Platform Definitions.
apr_status_t apr_thread_mutex_trylock(apr_thread_mutex_t *mutex)
#define APR_DECLARE(x)
Definition: macros.h:6
NXMutex_t * mutex
Definition: apr_arch_thread_mutex.h:26
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
APR Time Library.
apr_status_t apr_thread_mutex_timedlock(apr_thread_mutex_t *mutex, apr_time_t timeout, int absolute)
dav_resource int dav_locktoken dav_response int flags
Definition: mod_dav.h:1350