#include <sbuild-lock.h>
Inheritance diagram for sbuild::device_lock:
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. |
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 | ) |
The constructor.
device | the device to lock (full pathname). |
device_lock::~device_lock | ( | ) | [virtual] |
The destructor.
void device_lock::set_lock | ( | lock::type | lock_type, | |
unsigned int | timeout | |||
) | [virtual] |
Acquire a lock.
lock_type | the type of lock to acquire. | |
timeout | the time in seconds to wait on the lock. |
Implements sbuild::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.
std::string sbuild::device_lock::device [private] |
The device to lock.