globus_common  17.11
globus_thread_rmutex.h
Go to the documentation of this file.
1 
7 #ifndef GLOBUS_THREAD_RMUTEX_H
8 #define GLOBUS_THREAD_RMUTEX_H
9 
10 #include "globus_common_include.h"
11 #include "globus_thread.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
23 typedef struct
24 {
25  globus_mutex_t mutex;
26  globus_cond_t cond;
27  globus_thread_t thread_id;
28  int level;
29  int waiting;
31 
36 typedef int globus_rmutexattr_t;
37 
38 int
40  globus_rmutex_t * rmutex,
41  globus_rmutexattr_t * attr);
42 
43 int
45  globus_rmutex_t * rmutex);
46 
47 int
49  globus_rmutex_t * rmutex);
50 
51 int
53  globus_rmutex_t * rmutex);
54 
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 #endif /* GLOBUS_THREAD_RMUTEX_H */
Include System Headers.
Globus Threading Abstraction.
int globus_rmutex_lock(globus_rmutex_t *rmutex)
Lock a recursive mutex.
Definition: globus_thread_rmutex.c:80
int globus_rmutex_destroy(globus_rmutex_t *rmutex)
Destroy a recursive mutex.
Definition: globus_thread_rmutex.c:169
int globus_rmutexattr_t
Recursive mutex attribute.
Definition: globus_thread_rmutex.h:36
int globus_rmutex_unlock(globus_rmutex_t *rmutex)
Unlock a recursive mutex.
Definition: globus_thread_rmutex.c:126
int globus_rmutex_init(globus_rmutex_t *rmutex, globus_rmutexattr_t *attr)
Initialize a recursive mutex.
Definition: globus_thread_rmutex.c:28
Recursive Mutex.
Definition: globus_thread_rmutex.h:24
Condition variable.
Definition: globus_thread.h:109
Mutex.
Definition: globus_thread.h:92
Thread ID.
Definition: globus_thread.h:56