(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.5.2.2 and 1.6

version 1.5.2.2, 2007/11/08 23:20:48 version 1.6, 2008/03/05 22:25:17
Line 134 
Line 134 
         wait(PEG_SEM_WRITE, caller);         wait(PEG_SEM_WRITE, caller);
     }     }
  
     // @exception Deadlock  
     // @exception Permission  
     // @exception AlreadyLocked  
     // @exception WaitFailed  
     inline void try_wait_read(ThreadType caller)  
     {  
         try_wait(PEG_SEM_READ, caller);  
     }  
   
     // @exception Deadlock  
     // @exception Permission  
     // @exception AlreadyLocked  
     // @exception WaitFailed  
     inline void try_wait_write(ThreadType caller)  
     {  
         try_wait(PEG_SEM_WRITE, caller);  
     }  
   
     // @exception Deadlock  
     // @exception Permission  
     // @exception TimeOut  
     // @exception WaitFailed  
     inline void timed_wait_read(ThreadType caller, int milliseconds)  
     {  
         timed_wait(PEG_SEM_READ, caller, milliseconds);  
     }  
   
     // @exception Deadlock  
     // @exception Permission  
     // @exception TimeOut  
     // @exception WaitFailed  
     inline void timed_wait_write(ThreadType caller, int milliseconds)  
     {  
         timed_wait(PEG_SEM_WRITE, caller, milliseconds);  
     }  
   
     // @exception Permission     // @exception Permission
     inline void unlock_read(ThreadType caller)     inline void unlock_read(ThreadType caller)
     {     {
Line 191 
Line 155 
     // @exception TooManyReaders     // @exception TooManyReaders
     void wait(Uint32 mode, ThreadType caller);     void wait(Uint32 mode, ThreadType caller);
  
     // @exception Deadlock  
     // @exception Permission  
     // @exception WaitFailed  
     // @exception TooManyReaders  
     void try_wait(Uint32 mode, ThreadType caller);  
   
     // @exception Timeout  
     // @exception Deadlock  
     // @exception Permission  
     // @exception WaitFailed  
     // @exception TooManyReaders  
     void timed_wait(Uint32 mode, ThreadType caller, int milliseconds);  
   
     // @exception Permission     // @exception Permission
     void unlock(Uint32 mode, ThreadType caller);     void unlock(Uint32 mode, ThreadType caller);
  
Line 224 
Line 175 
 { {
 public: public:
  
     ReadLock(ReadWriteSem& rwsem, bool performLock = true)      ReadLock(ReadWriteSem& rwsem) : _rwsem(rwsem)
         : _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 199 
 { {
 public: public:
  
     WriteLock(ReadWriteSem& rwsem, bool performLock = true)      WriteLock(ReadWriteSem& rwsem) : _rwsem(rwsem)
         : _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.5.2.2  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2