Home | History | Annotate | Download | only in port
      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
     60