(file) Return to ReadWriteSem.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/ReadWriteSem.h between version 1.2 and 1.5.2.2

version 1.2, 2006/08/09 21:12:42 version 1.5.2.2, 2007/11/08 23:20:48
Line 29 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Day (mdday@us.ibm.com)  
 //  
 // Reworked By: Mike Brasher (m.brasher@inovadevelopment.com)  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #ifndef Pegasus_ReadWriteSem_h #ifndef Pegasus_ReadWriteSem_h
Line 60 
Line 56 
  
 #if defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX) #if defined(PEGASUS_PLATFORM_AIX_RS_IBMCXX)
 # define PEGASUS_USE_POSIX_RWLOCK # define PEGASUS_USE_POSIX_RWLOCK
 #elif defined(PEGASUS_PLATFORM_HPUX_ACC)  #elif defined(PEGASUS_PLATFORM_PASE_ISERIES_IBMCXX)
 # define PEGASUS_USE_POSIX_RWLOCK # define PEGASUS_USE_POSIX_RWLOCK
 #elif defined(PEGASUS_PLATFORM_OS400_ISERIES_IBM)  #elif defined(PEGASUS_PLATFORM_HPUX_ACC)
 # define PEGASUS_USE_POSIX_RWLOCK # define PEGASUS_USE_POSIX_RWLOCK
 #elif defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC) #elif defined(PEGASUS_PLATFORM_SOLARIS_SPARC_CC)
 # define PEGASUS_USE_POSIX_RWLOCK # define PEGASUS_USE_POSIX_RWLOCK
Line 228 
Line 224 
 { {
 public: public:
  
     ReadLock(ReadWriteSem& rwsem) : _rwsem(rwsem)      ReadLock(ReadWriteSem& rwsem, bool performLock = true)
           : _rwsem(rwsem), _performLock(performLock)
     {     {
           if (_performLock)
         _rwsem.wait_read(Threads::self());         _rwsem.wait_read(Threads::self());
     }     }
  
     ~ReadLock()     ~ReadLock()
     {     {
           if (_performLock)
         _rwsem.unlock_read(Threads::self());         _rwsem.unlock_read(Threads::self());
     }     }
  
 private: private:
     ReadWriteSem & _rwsem;     ReadWriteSem & _rwsem;
       bool _performLock;
 }; };
  
 //============================================================================== //==============================================================================
Line 252 
Line 252 
 { {
 public: public:
  
     WriteLock(ReadWriteSem& rwsem) : _rwsem(rwsem)      WriteLock(ReadWriteSem& rwsem, bool performLock = true)
           : _rwsem(rwsem), _performLock(performLock)
     {     {
           if (_performLock)
         _rwsem.wait_write(Threads::self());         _rwsem.wait_write(Threads::self());
     }     }
  
     ~WriteLock()     ~WriteLock()
     {     {
           if (_performLock)
         _rwsem.unlock_write(Threads::self());         _rwsem.unlock_write(Threads::self());
     }     }
  
 private: private:
     ReadWriteSem & _rwsem;     ReadWriteSem & _rwsem;
       bool _performLock;
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5.2.2

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2