---
name: "ost_Lockfile"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_Lockfile"
---

# ost\_Lockfile(3)

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

## NAME

ost::Lockfile - This class is used to create a 'named' lock entity that can be used to control access to a resource between multiple processes.

## SYNOPSIS

`#include <process.h>`

### Public Member Functions

**Lockfile** (const char \*name)\
 Create a lock under a known name.  **Lockfile** ()\
 Create a new lock object that can be used to make locks.  **~Lockfile** ()\
 Destroy the current lock and release it.  bool **lock** (const char \*name)\
 Lock a system-wide name for this process.  void **unlock** (void)\
 Release an acquired lock.  bool **isLocked** (void)\
 Flag if the current process has aqcuired a lock.

## 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.

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

**Author**

David Sugar dyfet@ostel.com

System-wide named lock

## 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.

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
