- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# sbuild::file_lock Class Reference

File lock. More...

`#include <sbuild-lock.h>`

Inheritance diagram for sbuild::file_lock:

[legend]
Collaboration diagram for sbuild::file_lock:

[legend]
List of all members.

## Public Member Functions
| file_lock (int fd)
| The constructor.
virtual | ~file_lock ()
| The destructor.
virtual void | set_lock (lock::type lock_type, unsigned int timeout)
| Acquire a lock.
virtual void | unset_lock ()
| Release a lock.
## Private Attributes
int | fd
| The file descriptor to lock.

## Detailed Description

File lock.

Simple whole-file shared and exclusive advisory locking based upon POSIX fcntl byte region locks.

## Constructor & Destructor Documentation

file_lock::file_lock | ( | int | fd | ) |

The constructor.

Parameters:

  | fd | the file descriptor to lock.

file_lock::~file_lock | ( |  | ) | `[virtual]`

The destructor.

## Member Function Documentation

void file_lock::set_lock | ( | lock::type | lock_type,
|  | unsigned int | timeout |
| ) |  |  | `[virtual]`

Acquire a lock.

Parameters:

  | lock_type | the type of lock to acquire.
  | timeout | the time in seconds to wait on the lock.

Implements sbuild::lock.

void file_lock::unset_lock | ( |  | ) | `[virtual]`

Release a lock.

This is equivalent to set_lock with a lock_type of LOCK_NONE and a timeout of 0.

Implements sbuild::lock.

## Member Data Documentation

int sbuild::file_lock::fd`[private]`

The file descriptor to lock.

The documentation for this class was generated from the following files:

- sbuild/sbuild-lock.h
- sbuild/sbuild-lock.cc