#include <sbuild-lock.h>


Public Member Functions | |
| device_lock (std::string const &device) | |
| The constructor. | |
| virtual | ~device_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 | |
| std::string | device |
| The device to lock. | |
| bool | locked |
| Is the file locked? | |
Set an advisory lock on a device. The lock is acquired using liblockdev lock_dev(). Note that a lock_type of LOCK_SHARED is equivalent to LOCK_EXCLUSIVE, because this lock type does not support shared locks.
| device_lock::device_lock | ( | std::string const & | device | ) |
| device_lock::~device_lock | ( | ) | [virtual] |
The destructor.
References device, sbuild::lock::DEVICE_UNLOCK, locked, and sbuild::log_exception_warning().
| void device_lock::set_lock | ( | lock::type | lock_type, | |
| unsigned int | timeout | |||
| ) | [virtual] |
Acquire a lock.
Implements sbuild::lock.
References device, sbuild::lock::DEVICE_LOCK, sbuild::lock::DEVICE_LOCK_TIMEOUT, sbuild::lock::DEVICE_TEST, sbuild::lock::DEVICE_UNLOCK, sbuild::lock::DEVICE_UNLOCK_TIMEOUT, sbuild::lock::LOCK_EXCLUSIVE, sbuild::lock::LOCK_SHARED, locked, sbuild::lock::set_timer(), and sbuild::lock::unset_timer().
Referenced by sbuild::chroot_lvm_snapshot::setup_lock(), sbuild::chroot_block_device::setup_lock(), and unset_lock().
| void device_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.
References sbuild::lock::LOCK_NONE, and set_lock().
Referenced by sbuild::chroot_lvm_snapshot::setup_lock(), and sbuild::chroot_block_device::setup_lock().
std::string sbuild::device_lock::device [private] |
bool sbuild::device_lock::locked [private] |
1.5.8