19 #ifndef PAGESPEED_KERNEL_BASE_ABSTRACT_MUTEX_H_ 
   20 #define PAGESPEED_KERNEL_BASE_ABSTRACT_MUTEX_H_ 
   23 #include "pagespeed/kernel/base/thread_annotations.h" 
   25 namespace net_instaweb {
 
   32   virtual bool TryLock() EXCLUSIVE_TRYLOCK_FUNCTION(
true) = 0;
 
   34   virtual void Lock() EXCLUSIVE_LOCK_FUNCTION() = 0;
 
   36   virtual void Unlock() UNLOCK_FUNCTION() = 0;
 
   39   virtual void DCheckLocked();
 
   42   virtual void DCheckUnlocked();
 
   53   void Release() UNLOCK_FUNCTION() {
 
   69 #define ScopedMutex(x) COMPILE_ASSERT(0, mutex_lock_decl_missing_var_name) 
Abstract interface for implementing a mutex. 
Definition: abstract_mutex.h:28
 
#define ScopedMutex(x)
Definition: abstract_mutex.h:69
 
Helper class for lexically scoped mutexing. 
Definition: abstract_mutex.h:46