MSVC
[novacoin.git] / src / leveldb / port / thread_annotations.h
1 // Copyright (c) 2012 The LevelDB Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. See the AUTHORS file for names of contributors.
4
5 #ifndef STORAGE_LEVELDB_PORT_THREAD_ANNOTATIONS_H
6
7 // Some environments provide custom macros to aid in static thread-safety
8 // analysis.  Provide empty definitions of such macros unless they are already
9 // defined.
10
11 #ifndef EXCLUSIVE_LOCKS_REQUIRED
12 #define EXCLUSIVE_LOCKS_REQUIRED(...)
13 #endif
14
15 #ifndef SHARED_LOCKS_REQUIRED
16 #define SHARED_LOCKS_REQUIRED(...)
17 #endif
18
19 #ifndef LOCKS_EXCLUDED
20 #define LOCKS_EXCLUDED(...)
21 #endif
22
23 #ifndef LOCK_RETURNED
24 #define LOCK_RETURNED(x)
25 #endif
26
27 #ifndef LOCKABLE
28 #define LOCKABLE
29 #endif
30
31 #ifndef SCOPED_LOCKABLE
32 #define SCOPED_LOCKABLE
33 #endif
34
35 #ifndef EXCLUSIVE_LOCK_FUNCTION
36 #define EXCLUSIVE_LOCK_FUNCTION(...)
37 #endif
38
39 #ifndef SHARED_LOCK_FUNCTION
40 #define SHARED_LOCK_FUNCTION(...)
41 #endif
42
43 #ifndef EXCLUSIVE_TRYLOCK_FUNCTION
44 #define EXCLUSIVE_TRYLOCK_FUNCTION(...)
45 #endif
46
47 #ifndef SHARED_TRYLOCK_FUNCTION
48 #define SHARED_TRYLOCK_FUNCTION(...)
49 #endif
50
51 #ifndef UNLOCK_FUNCTION
52 #define UNLOCK_FUNCTION(...)
53 #endif
54
55 #ifndef NO_THREAD_SAFETY_ANALYSIS
56 #define NO_THREAD_SAFETY_ANALYSIS
57 #endif
58
59 #endif  // STORAGE_LEVELDB_PORT_THREAD_ANNOTATIONS_H