]> git.saurik.com Git - apple/icu.git/blob - icuSources/common/cmutex.h
ICU-531.48.tar.gz
[apple/icu.git] / icuSources / common / cmutex.h
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