|
1 /* |
|
2 ********************************************************************** |
|
3 * Copyright (C) 2013, International Business Machines |
|
4 * Corporation and others. All Rights Reserved. |
|
5 ********************************************************************** |
|
6 * |
|
7 * File cmutex.h |
|
8 * |
|
9 * Minimal plain C declarations for ICU mutex functions. |
|
10 * This header provides a transition path for plain C files that |
|
11 * formerly included mutex.h, which is now a C++ only header. |
|
12 * |
|
13 * This header should not be used for new code. |
|
14 * |
|
15 * C++ files should include umutex.h, not this header. |
|
16 * |
|
17 */ |
|
18 |
|
19 #ifndef __CMUTEX_H__ |
|
20 #define __CMUTEX_H__ |
|
21 |
|
22 typedef struct UMutex UMutex; |
|
23 |
|
24 |
|
25 /* Lock a mutex. |
|
26 * @param mutex The given mutex to be locked. Pass NULL to specify |
|
27 * the global ICU mutex. Recursive locks are an error |
|
28 * and may cause a deadlock on some platforms. |
|
29 */ |
|
30 U_INTERNAL void U_EXPORT2 umtx_lock(UMutex* mutex); |
|
31 |
|
32 /* Unlock a mutex. |
|
33 * @param mutex The given mutex to be unlocked. Pass NULL to specify |
|
34 * the global ICU mutex. |
|
35 */ |
|
36 U_INTERNAL void U_EXPORT2 umtx_unlock (UMutex* mutex); |
|
37 |
|
38 #endif |
|
39 |