]>
Commit | Line | Data |
---|---|---|
57a6839d A |
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 |