Class CWin32ReadWriteLock Base ClassesData ItemsConstructorsDestructorsFunctionsCustom CodeGo to hierarchy chart    Prev page: Custom Code in Source After IncludesNext page: m_bEscalation    Show member index
Class Declared in:
Win32ReadWriteLock.h

'Overview' icon -- Shortcut to top of page. Overview

Copyright (c) 2000-2003 Barak Weichselbaum <barak@komodia.com> All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS `AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contact info:

Site:                  http://www.komodia.com Main contact:          barak@komodia.com For custom projects, consulting, or other paid services:         sales@komodia.com

Hierarchy Chart Hierarchy Chart

'Base Classes' icon -- Shortcut to top of page. Base Classes

Public base class CGenericReadWriteLock

'Data Items' icon -- Shortcut to top of page. Data Items

Private data BOOL m_bEscalation Do we have escalation
Private data BOOL m_bWriter Do we have a writer
Private data int m_iReaders Number of readers
Private data CGenericMutex * m_pMutex Our mutex
Private data CGenericSemaphore * m_pSemaphore Our semaphore

'Constructors' icon -- Shortcut to top of page. Constructors

Private constructor

CWin32ReadWriteLock( const CWin32ReadWriteLock& rLock )

No copy ctor
Public constructor

CWin32ReadWriteLock( int iMaximumReaders )

Ctor and Dtor

'Destructors' icon -- Shortcut to top of page. Destructors

Public destructor virtual

~CWin32ReadWriteLock()

'Functions' icon -- Shortcut to top of page. Functions

Public function virtual BOOL

Escalate( unsigned long ulMSTimeout, unsigned long ulIterations )

Escalate write priority
Public function virtual BOOL

LockRead( unsigned long ulMSTimeout=INFINITE )

Lock for reading Returns TRUE for timeout
Public function virtual BOOL

LockWrite()

Lock for reading
Private function CWin32ReadWriteLock &

operator =( const CWin32ReadWriteLock& rLock )

No copy operator
Public function virtual void

StopEscalation()

Remove the escalation flag
Public function virtual void

UnlockRead()

Unlock for reading
Public function virtual void

UnlockWrite()

Unlock for reading

'Custom Code' icon -- Shortcut to top of page. Custom Code

'Implementation Details' icon -- Shortcut to top of page. Implementation Details

File(s)
C:\dev\Komodia\Win32ReadWriteLock.cpp
C:\dev\Komodia\Win32ReadWriteLock.h
Header Includes
GenericReadWriteLock.h     
Source Includes
stdafx.h     for precompiled header directive
Win32ReadWriteLock.h     
OSManager.h     
GenericMutex.h     
GenericSemaphore.h     
Owner
tcpip4
Last Modified
05/02/2003 20:16:15 PM

Get Surveyor!This web site was generated using Surveyor V4.50.811.1.  Click here for more information. Site content copyright © 2003 Komodia LTD.. See the About page for additional notices. This page last updated: 24 Feb 2003.