Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

ost::Lockfile Class Reference

This class is used to create a "named" lock entity that can be used to control access to a resource between multiple processes. System-wide named lock. More...

#include <process.h>

List of all members.

Public Methods

 Lockfile (const char *name)
 Create a lock under a known name. More...

 Lockfile ()
 Create a new lock object that can be used to make locks. More...

 ~Lockfile ()
 Destroy the current lock and release it. More...

bool lock (const char *name)
 Lock a system-wide name for this process. More...

void unlock (void)
 Release an acquired lock. More...

bool isLocked (void)
 Flag if the current process has aqcuired a lock. More...


Detailed Description

This class is used to create a "named" lock entity that can be used to control access to a resource between multiple processes. System-wide named lock.

The posix implimentation uses a pidfile and the win32 version uses a globally visible mutex.

Author:
David Sugar <dyfet@ostel.com>


Constructor & Destructor Documentation

ost::Lockfile::Lockfile ( const char * name )
 

Create a lock under a known name.

Parameters:
name   of system-wide lock to create.

ost::Lockfile::Lockfile ( )
 

Create a new lock object that can be used to make locks.

ost::Lockfile::~Lockfile ( ) [inline]
 

Destroy the current lock and release it.


Member Function Documentation

bool ost::Lockfile::isLocked ( void )
 

Flag if the current process has aqcuired a lock.

Returns:
true if we have the lock.

bool ost::Lockfile::lock ( const char * name )
 

Lock a system-wide name for this process.

If the lock is successful, return true. If an existing lock was already acquired, release it first.

Returns:
true if lock successful.
Parameters:
name   system-wide lock to use.

void ost::Lockfile::unlock ( void )
 

Release an acquired lock.


The documentation for this class was generated from the following file:
Generated at Fri May 30 14:51:03 2008 for GNU CommonC++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001