- // Copyright (c) 2012 The LevelDB Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file. See the AUTHORS file for names of contributors.
-
- #ifndef STORAGE_LEVELDB_PORT_THREAD_ANNOTATIONS_H_
- #define STORAGE_LEVELDB_PORT_THREAD_ANNOTATIONS_H_
-
- // Some environments provide custom macros to aid in static thread-safety
- // analysis. Provide empty definitions of such macros unless they are already
- // defined.
-
- #ifndef EXCLUSIVE_LOCKS_REQUIRED
- #define EXCLUSIVE_LOCKS_REQUIRED(...)
- #endif
-
- #ifndef SHARED_LOCKS_REQUIRED
- #define SHARED_LOCKS_REQUIRED(...)
- #endif
-
- #ifndef LOCKS_EXCLUDED
- #define LOCKS_EXCLUDED(...)
- #endif
-
- #ifndef LOCK_RETURNED
- #define LOCK_RETURNED(x)
- #endif
-
- #ifndef LOCKABLE
- #define LOCKABLE
- #endif
-
- #ifndef SCOPED_LOCKABLE
- #define SCOPED_LOCKABLE
- #endif
-
- #ifndef EXCLUSIVE_LOCK_FUNCTION
- #define EXCLUSIVE_LOCK_FUNCTION(...)
- #endif
-
- #ifndef SHARED_LOCK_FUNCTION
- #define SHARED_LOCK_FUNCTION(...)
- #endif
-
- #ifndef EXCLUSIVE_TRYLOCK_FUNCTION
- #define EXCLUSIVE_TRYLOCK_FUNCTION(...)
- #endif
-
- #ifndef SHARED_TRYLOCK_FUNCTION
- #define SHARED_TRYLOCK_FUNCTION(...)
- #endif
-
- #ifndef UNLOCK_FUNCTION
- #define UNLOCK_FUNCTION(...)
- #endif
-
- #ifndef NO_THREAD_SAFETY_ANALYSIS
- #define NO_THREAD_SAFETY_ANALYSIS
- #endif
-
- #endif // STORAGE_LEVELDB_PORT_THREAD_ANNOTATIONS_H_
|